選擇法排序:
1 #include <iostream> 2 #include<ctime> 3 #include<cstdlib> 4 using namespace std; 5 6 int main() { 7 int a[10] ,i,j,t,k; 8 srand(time(0)); //srand()函數根據當前時間產生隨機數 9 t=rand(); 10 for(i=0;i<=10;i++){ 11 a[i] = rand()%100 +100; //10個隨機整數,區間為【100,199】 12 cout<<a[i]<<"\t"; 13 } 14 cout<<endl; 15 16 //選擇法排序 17 for(i = 0;i <=10; i++){ 18 k = i; 19 for(j=i+1; j<=10; j++){ 20 if(a[k] < a[j]){ 21 k = j; //指針標記k指向大數 22 } 23 } 24 if(k != i){ 25 t = a[i]; a[i] = a[k]; a[k] = t; //交換a[i]和a[j] 26 } 27 } 28 //排序后,輸出 29 for(i=0;i<=10;i++){ 30 cout<<a[i]<<"\t"; 31 } 32 33 return 0; 34 }