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