问题标题: 酷町堂:哪位大佬给我讲一讲选择排序???

0
0

0
已采纳
王子健
王子健
初级天翼
初级天翼

选择排序思想:

从小往大:一个数组,和他后面的那个元素比较,如果后面的小一点,就交换。

从大往小:一个数组,和他后面的那个元素比较,如果后面的大一点,就交换。

具体实现 :

从小往大:

for (int i=1; i<=n; i++) {
    for (int j=i+1; j<=n; j++) {//i+1表示a[i] 后面的元素
        if (a[i] > a[j])
            swap(a[i], a[j]);
    } 

从大往小:

for (int i=1; i<=n; i++) {
    for (int j=i+1; j<=n; j++) {//i+1表示a[i] 后面的元素
        if (a[i] < a[j])
            swap(a[i], a[j]);
    } 

 

 

总结:选择排序思路相对较为简单,多练几下就好了,时间复杂度较高,是O(N^2)

望采纳,谢谢

0
0
邹昊轩
邹昊轩
资深光能
资深光能

这个排序比冒泡排序有的时间少一点,就是将一个数插进排序,这样时间更少。

我要回答