小甲魚 排序演算法 選擇排序
阿新 • • 發佈:2018-11-11
小甲魚 排序演算法 選擇排序
雖然選擇排序 和 氣泡排序 進行的比較次數是一樣的,但是選擇排序 比 氣泡排序 進行移動的次數少,效率更高
選擇排序:
//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; }