选择排序的复杂度大约和冒泡差不多,O(n^2)的,
算法思想:min = i;
从剩下的元素中找最小的元素下标赋值给i
if(i !=min){swap;}
代码实现:
void sortIntegers(vector<int>& A) {
int n = A.size();
int i,min,j;
for(i = 0;i<n;i++){
min = i;
for(j = i+1;j<n;j++){
if(A[min]>A[j])
min = j;
}
if(i != min){
int temp = A[i];
A[i] = A[min];
A[min] = temp;
}
}
}