選擇排序

選擇排序

選擇排序從需要排序的隊列數據中選擇最小的同第一個值交換,再從剩下的部分中選擇最小的與第二個交換,這樣往復下去,最後實現全隊列的排序。

#include <iostream>
using namespace std;

void SelectSort(int *pData, int Count){
    int iTemp; //存儲值
    int iPos; //存儲下標
    
    for (int i=0; i<Count-1; i++) {
        iTemp = pData[i];
        iPos = i;
        
        for (int j=i+1; j<Count; j++) {
            if (pData[j]<iTemp) {
                iTemp = pData[j];
                iPos = j;
            }
        }
        //交換數據
        pData[iPos] = pData[i];
        pData[i] = iTemp;
    }
}

int  main()
{
    int data[] = {10,9,8,7,6,5,4};
    SelectSort(data, 7);
    for (int i=0; i<7; i++) {
        cout <<data[i]<<"   ";
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章