// ConsoleApplication21.cpp : 定义控制台应用程序的入口点。
// VS2013
#include "stdafx.h"
#include <iostream>
#include <algorithm>
void selectSort(int a[], const int n)
{
int k, temp;
for (int i = 0; i < n - 1; i++)
{
k = i; //从arr[i]检查到arr[n-1],最小的数在a[k];
for (int j = i; j < n; j++)
{
if (a[j] < a[k]) k = j; //k指示当前找到的最小整数
}
if (i != k) //交换a[i]与a[k]
{
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
}
//测试selectSort
int _tmain(int argc, _TCHAR* argv[])
{
int arr[]{3, 5, 8, 9, 10, 2, 30, 7};
selectSort(arr, sizeof(arr)/sizeof(int));
std::for_each(std::begin(arr), std::end(arr), [](int n)//c++11中的Lambdas(匿名函数)
{
std::cout << n << " ";
});
return 0;
}
原文:http://my.oschina.net/hejunsen/blog/389991