C++:SelectionSort
선택 정렬 C++ 샘플 예제.
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdlib>
using namespace std;
typename vector<int>::iterator
findMin(typename vector<int>::iterator & begin, typename vector<int>::iterator & end)
{
    if (begin == end) {
        return begin;
    }
    vector<int>::iterator result = begin;
    for (vector<int>::iterator itr = begin + 1; itr != end; ++itr) {
        if (*itr < *result) {
            result = itr;
        }
    }
    return result;
}
int main(int argc, char ** argv)
{
    vector<int> list;
    if (argc >= 2) {
        for (int index = 1; index < argc; ++index) {
            list.push_back(atoi(argv[index]));
        }
    } else {
        cout << "[ERROR] Empty number.\n";
        return 1;
    }
    vector<int>::iterator end = list.end();
    cout << "List: ";
    for (vector<int>::iterator itr = list.begin(); itr != end; ++itr) {
        cout << *itr << ' ';
    }
    cout << endl;
    int minimum = 0;
    for (vector<int>::iterator itr = list.begin(); itr != end; ++itr) {
        cout << "Cursor: " << *itr;
        vector<int>::iterator pivot = findMin(itr, end);
        cout << ", Pivot: " << *pivot << endl;
        std::swap(*itr, *pivot);
    }
    cout << "Sort: ";
    for (vector<int>::iterator itr = list.begin(); itr != end; ++itr) {
        cout << *itr << ' ';
    }
    cout << endl;
    return 0;
}