对于一个序列A中的元素A[1]~A[n],令i从1到n枚举,进行n趟操作,每趟从待排序部分[i,n]中选择最小的元素,令其与待排序部分的第一个元素A[i]进行交换,这样元素A[i]就会与当前有序区间[1,i-1]形成新的有序区间[1,i]。于是就在n操作后,所有元素就会使有序的。
void selectSort(){
for(int i=1;i<=n;i++){
int k=i;
for(int j=i;j<=n;j++){
if(A[j]<A[k])
k=j;
}
int temp=A[i];
A[i]=A[k];
A[k]=temp;
}
}