精彩百例:一維陣列,選擇排序
阿新 • • 發佈:2019-02-19
/*
file name:選擇法排序
<span style="white-space:pre"> </span>重點在於迴圈賦值給min,找出最小值的排序方法 */ # include <stdio.h> int main(void) { int i, j, min, temp; int array[10]; /*輸入陣列元素*/ printf("please input ten integer: \n"); for(i=0; i<10; i++) { printf("array[%d] = ", i); scanf("%d", &array[i]); } /*輸出陣列元素*/ printf("the array is: "); for(i=0; i<10; i++) { printf("array[%d] = %d\n", i, array[i]); } printf("\n"); /*陣列元素排序*/ for(i=0; i<9; i++) { min = i; /*如果前面的大於後面的,就把它賦給min,一直迴圈賦給min, 迴圈結束,min就是最小的,然後置換位置,再進行下一次比較*/ for(j=i; j<10; j++) { if(array[min] > array[j]) min = j; } temp = array[i]; array[i] = array[min]; array[min] = temp; } for(i=0; i<10; i++) { printf("%d", array[i]); } return 0; }
執行結果是:
: