常用排序算法——選擇排序

#include <iostream>
using namespace std;

template<class T>
void select_sort(T *arr, int len)
{
    T tmp;
    int curPos;
    for(int i = 0; i < len - 1; ++ i)
    {
        tmp = arr[i];
        curPos = i;
        for(int j = i + 1; j < len; ++ j)
        {
            if(arr[j] < tmp)
            {
                tmp = arr[j];
                curPos = j;
            }
        }
        arr[curPos] = arr[i];
        arr[i] = tmp;
    }
}

int main()
{
    int size;
    cin >> size;
    int *arr = new int[size];
    for(int i = 0; i < size; ++ i)
        cin >> *(arr+i);
    select_sort(arr, size);
    for(int i = 0; i < size; ++ i)
        cout << *(arr + i) << " ";
    cout << endl;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章