1. 程式人生 > >選擇排序(c++實現)

選擇排序(c++實現)

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;
}

測試輸出:

result