C 简单选择排序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010095372/article/details/84259344

这个简单,在后面没有排好序的序列里,找一个里面最小的跟序列里最开始的那个元素交换

void SelectSort(int a[], int n){
    int i, min, j, temp;
    for (i = 0; i < n-1; i++) {
        min = i; //标记当前的下标
        //从后面的序列里找一个最小的出来
        for (j = i+1; j < n; j++) {
            if(a[j] < a[min])
                min = j;
        }
        //如果这个找出来的不是i本身,那就只能换位置了
        if(min != i) {
            temp = a[min];
            a[min] = a[i];
            a[i] = temp;
        }
    }
}

5260391748
0 265391748
01 65392748
012 5396748
0123 596748
01234 96758
012345 6798
0123456 798
01234567 98
012345678 9

猜你喜欢

转载自blog.csdn.net/u010095372/article/details/84259344
今日推荐