简单选择排序像他的名字一样也很简单,就是对于从A[0]-A[n-1]的数组中进行n次操作,其中数组被分为两部分,一部分是已经被排序的,另一部分是没有被排序的。每次操作返回的是没有被排序的最小的数组,并将这个最小的数组与未排序的第一个数组进行交换。
#include <stdio.h>
void selectSort(int a[],int n){
for(int i=0;i<n;i++){//循环遍历n次
int k=i;
for(int j=i;j<n;j++){//从未被排序的数组中选择最小的
if(a[j]<a[k]){
k=j;
}
}
//将最小的数组换到未被排序的第一个。
int temp;
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
这里书上是从1开始的我改为了从0开始。