选择排序
选择排序过程
(1)首先通过n-1次比较,从n个数中找出最小的,将它与第一个数交换一一第一次选择排序,结果最小的数被安置在第一次元素位置上。
(2)在通过n-2次比较,从剩余的n-1个数中找出关键字次小的记录,将它与第二个数交换一一第二次选择排序。
(3)重复上述过程,共经过n-1此排序后,排序结束。
代码示例:
#include <stdio.h>
#define N 10
int a[N],i,j,r,t;
printf("Please input %d numbers\n",N);
for(i=0;i<N;i++){
scnaf("%d",&a[i]);
for(i=0;i<N-1;i++){
r=i;
for(j=i+1;j<N;j++){
if(a[j]<a[r]){
r=j;
if(r!=i){
t=a[r];
a[r]=a[i];
a[i]=t;
}
}
printf("the array after sort:\n');
for(i=0;i<N;i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}
}
}