算法思想:
设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录(Ri,Ri+1,…,Rn)中找出排序码最小的记录,与第i个记录交换。执行n-1趟 后就完成了记录序列的排序。
#include<stdio.h>
int main()
{
int a[8] = {69,65,90,37,92,6,28,54};
int i,j;
int t,k;
for(i=0;i<8;i++)
printf("%4d",a[i]);
printf("\n");
for(i=0;i<7;i++)
{
//把当前元素保存
k = i;
//找剩下的最小元素
for(j=i+1;j<8;j++)
if(a[k]>a[j]) //找到比当前元素小的元素,则把小的元素的序号交给k
k = j;
//最小元素与a[i]互换
t = a[i];
a[i] = a[k];
a[k] = t;
}
for(i=0;i<8;i++)
printf("%4d",a[i]);
return 0;
}