#include<stdio.h>
int main(){
/*int a[6]={1,5,3,9,6};
int max=a[0];
for (int i=0; i<6; i++) {
if (a[i]>max) {
max=a[i];
}
}
printf("最大值是%d\n",max);*/
//选择排序
//要排序的数组
int a[]={1,2,4,3,8,5};
//最大的脚标
int max=0;
for (int i=0; i<5; i++)//第几轮排序
{ int max=i;
for (int j=i+1; j<6; j++)//当前这轮排序的具体实现
{
if (a[max]<a[j])//a[j]是否大于先前的“最大值”
{
max=j;//如果a[j]大于先前"最大值",改变"最大值的脚标"
}
}
//输出每轮排序的最大值脚标
printf("第%d轮排序的最大脚标是%d\n",i,max);
//把找到的最大值和之前的最大值交换
int temp=a[i];
a[i]=a[max];
a[max]=temp;
}
for (int k=0; k<6; k++) {
printf("%d\t"++,a[k]);
}
return 0;
}
|
|