选择排序
选择排序的核心思想在于交换最大的数与最小的数的位置
1.外循环N-1轮
2.内循环一定小于数组的长度N
在每次比较完a[j]>a[k]后的大小关系后,如果执行if语句,那么k的值将会得到更新,即数组记录最小数的位置
#include <stdio.h>
#define N 7
int main(void){
int a[N]= {2,-1,-10,1,9,6,11};
int i,j,k,t;
int value;
//选择排序
for(i=0;i<N-1;i++){
k = i;
for(j=i+1;j<N;j++){
if(a[j]<a[k]){
k = j;
}
}
if(k!=i){
t = a[i];
a[i]=a[k];
a[k] = t;
}
for(i=0;i<N;i++){
printf("%d ",a[i]);
}
printf("\n");
}
}