C程式設計--排序(冒泡、選擇、插入)--選擇
阿新 • • 發佈:2018-11-11
演算法排序
個人說明:排序的演算法有許多種,該部落格只是列舉了部分常用的排序方式,以供參考。程式使用語言為C語言。
2.選擇排序法
- 基本思想:
1.在要排序的一組數中,選出最小的一個數與第一個位置的數交換;
2.然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後一個數比較為止。 - 圖解
- 程式碼實現
#include<stdio.h> int main(){ int a[]={1,54,6,3,78,34,12,45}; int min,n=sizeof(a)/sizeof(int); //選擇排序法 for (int i = 0; i < n-1; i++) { min=i; for (int j = i+1; j < n; j++) { if(a[j]<a[min]) { min=j; } } if(min!=i){ int temp=a[min]; a[min]=a[i]; a[i]=temp; } } for(i=0;i<n;i++){ printf("%d ",*(a+i)); } printf("\n",*(a+i)); return 0; }
- 參考部落格