第一趟排序:第一个数字与最小的数字互换;
第二趟排序:将第二个数字与剩下数字中最小的数字互换;
以此类推。
#include<stdio.h>
void main()
{
int a[5]={1,2,3,4,5};
int i,j,iPos,iTemp;
for(i=0;i<4;i++) //n-1轮外循环
{
iTemp=a[i]; //假定一个最大值
iPos=i; //记录最大值的位置
for(j=i+1;j<5;j++) //内循环,用a[i]最大值与后边的元素比较
{
if(a[j]>iTemp)
{
iTemp=a[j]; //后边元素替代a[i]
iPos=j;//记录下标位置
}
}
a[iPos]=a[i]; //把a[i]换到a[j]的位置,也就是a[i]后边那个位置
a[i]=iTemp; //把iTemp也就是a[j],换到原来a[1]的位置,也就是a[d]的前边
//通过这个方法实现了,a[i]和a[j]元素的位置互换。
}
printf("输出:\n");
for(i=0;i<5;i++)
{
printf("%d\n",a[i]);
}
}