小甲鱼 排序算法 选择排序

xiaoxiao2021-09-14  38

小甲鱼 排序算法 选择排序

 

虽然选择排序 和 冒泡排序 进行的比较次数是一样的,但是选择排序 比 冒泡排序 进行移动的次数少,效率更高

 

选择排序:

//selectsort.c #include <stdio.h> void SelectSort(int k[], int n) { int i, j, min, temp, count1=0, count2=0; for(i = 0; i < n-1; i++) { min = i; for(j = i+1; j < n; j++) { count1++; if (k[j] < k[min]) { min = j;//最小元素的位置 } } if (min != i)//待交换的i { count2++; temp = k[min]; k[min] = k[i]; k[i] = temp; } } printf("总共进行了%d次比较,进行了%d次移动!\n", count1, count2); } int main(void) { int i, a[10] = {5, 2, 6, 0, 3, 9, 1, 7, 4, 8}; SelectSort(a, 10); printf("排序后的结果是:"); for(i = 0; i < 10; i++) { printf("%d", a[i]); } printf("\n\n"); return 0; }