這一系列博客的特點就是——給出每趟排序的結果
本來想着好好寫一下過程,弄個圖片什麼的,不過覺得網上的解析太多了,都比較好,所以這些博客就算是對自己的總結吧。
#include <stdio.h> void SelectSort(int *m, int n) { int i,j,k,temp; bool flag; for(i=0;i<n-1;i++) { k=i; flag=true; for(j=i+1;j<n;j++) if(m[j]<m[k]) k=j; if(k!=i) { flag=false; temp=m[k]; m[k]=m[i]; m[i]=temp; } for(int t=0;t<10;t++) printf("%d ",m[t]); printf("\n"); if(flag) return; } } int main() { int i; int a[10]={2,6,5,1,4,3,7,8,9,10}; for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n排序後\n"); SelectSort(a,10); printf("\n最終結果\n"); for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n"); return 0; }
運行結果