//选择排序法
template <typename T>
static void Select(T array[], int len, bool min2max = true)
{
for(int i=0; i<len; i++)
{
int min = i;
for(int j=i+1; j<len; j++)
{
if( min2max ? (array[min] > array[j]) : (array[min] < array[j]) )
{
min = j;
}
}
if( min != i )
{
Swap(array[i], array[min]);
}
}
}
运行结果如下(从小到大):