版本一: 馬上更新,敬請期待...... 版本二: //選擇排序 //先把0位置設置為索引,接著用index(索引)向後找最小的, //每一趟分別把最小的放在前面,然後和原來前面的數據交換位置 //楊鑫 #include#include #define MAXN 100 int arr[MAXN]; void SelectionSort(int a[], int size) { int index = 0, i = 0, j = 0, temp = 0; for(i = 0; i < size; i++) { index = i; for(j = i + 1; j < size; j++) { if(arr[index] > arr[j]) { index = j; } } if(index != i) { temp = arr[i]; arr[i] = arr[index]; arr[index] = temp; } } } int main() { int i = 0; arr[0] = 44; arr[1] = 33; arr[2] = 55; arr[3] = 999; arr[4] = 42; printf(============================================== ); printf( 排序前的數據順序是: 44 33 55 999 42 ); SelectionSort(arr, 5); printf( 排序後的數據順序是: ); for(i = 0; i < 5; i++) { printf( %d , arr[i]); } printf( ============================================== ); return 0; }
結果: