選擇排序算法
1.選擇排序算法的原理ide
a) 第一輪,設第一個位置爲起始位置,將每一次將無序序列中最小的元素移動到最起始的位置spa
b) 第二輪,設置第二個位置爲起始位置,將第二個後面的無序序列中最小的元素移動到第二輪的起始位置;重複以上操做,直到排序完成排序
2.實現代碼it
#include <stdio.h> int select_sort(int *a,int n) { int i,j,temp,min; for(i=0;i<n;i++){ min=i; //先假設第i個位置爲這一輪的最小值a[min] for(j=i+1;j<n;j++){ //從第i+1個位置開始的每一個值與a[min]比大小,找到無序區最小的那個數,並將序號記錄下來即a[min],而後交換a[i]與a[min]. if(a[min]>a[j]){ min=j; } } if(min!=i){ temp=a[min]; a[min]=a[i]; a[i]=temp; } } return 0; } int main() { int i; int a[9]={14,2,6,7,1,3,5,1,7}; select_sort(a,9); for(i=0;i<9;i++){ printf("%d\n",a[i]); } return 0; }
3.時間複雜度(O(N^2))io