选择排序
选择排序的思想:对于一个给定的具有n个数的数组,从中依次找出最小(或最大)的元素,并且将它依次放到序列的起始位置。
例如:
4,2,7,8,10,1,5
第一次排序:1,2,7,8,10,4,5
第二次排序:1,2,7,8,10,4,5
第三次排序:1,2,4,8,10,7,5
第四次排序:1,2,4,5,10,7,8
第五次排序:1,2,4,5,7,10,8
第六次排序:1,2,4,5,7,8,10
template<typename T> // 这是一个模板函数
void selectionSort(T arr[],int n){
for(int i=0;i<n;i++){
int minIndex=i;
for(int j=i+1;j<n;j++)
if(arr[j]<arr[minIndex])
minIndex=j;
swap(arr[i],arr[minIndex]);
}
}