共进行n趟操作,每趟选出待排序部分[i,n]中最小的元素,令其与a[i]交换。
void selectSort(int a[],int n){
for (int i = 1; i <= n; i++){//进行n趟操作
int k = i;
for (int j = i; j <= n; j++){//选出[i,n]中最小的元素,下标为k
if (a[j] < a[k]){
k = j;
}
}
int temp = a[i];//交换a[i]与a[k]
a[i] = a[k];
a[k] = temp;
}
网友评论