github博客傳送門
csdn博客傳送門
選擇排序原理:

#include<iostream>
using namespace std;
const int MAX_NUM = 100;
//選擇排序
int main(){
int a[MAX_NUM];
int n;
cin >> n; //共有n個整數待排序
for(int i = 0; i < n; ++i) //輸入n個整數
cin >> a[i];
//下面對整個數組進行從小到大排序
for(int i = 0; i<n-1 ;++i){ //每次循環將第i小的元素放好
int tmpMin = i; //用來記錄從第i個到第n-1個元素中,最小的那個元素的下標
for(int j=i; j<n;++j){
if(a[j]<a[tmpMin])
tmpMin = j;
}
//下面將第i小的元素放在第i個位置上,並將原來占着第i個位置的那個元素挪到后面
int tmp = a[i];
a[i] = a[tmpMin];
a[tmpMin] = tmp;
}
//下面兩行將排序好的n個元素輸出
for(int i=0;i<n;++i)
cout << a[i] << endl;
return 0;
}
測試輸出:
