时间复杂度:O(n^2)
要求:将数组元素从小到大排序
原理:每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
代码实现:
template<typename T>
void selectionSort(T arr[], int n){
for(int i = 0 ; i < n ; i ++){
//寻找(i,n-1]区间里的最小值
int min = i;
for( int j = i + 1 ; j < n ; j ++ )
if( arr[j] < arr[min] )
min = j;
swap( arr[i] , arr[min] );
}
}