选择排序:
基本思想:假设待排序集合有n个元素,需要进行n-1趟排序,每次排序从未排序集合中选出最小的元素,加入到已排序集合末尾。时间复杂度为O(n*n),空间复杂度为O(1)。
支持数组或链表。
-
void selection_sort(int a[], int n)
-
{
-
int i, j, k;
-
for (i=0; i<n-1; i++){
-
k = i;
-
for (j=i+1; j<n; j++){
-
if (a[j] < a[k]){
-
k = j;
-
}
-
}
-
if (k != i){
-
int tmp = a[k];
-
a[k] = a[i];
-
a[i] = tmp;
-
}
-
}
-
}
阅读(1227) | 评论(0) | 转发(0) |