A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

数组那部分的选择排序,小白晕不晕?


#include <stdio.h>

int main(){
    //要排序的数组
    int a[] = {1,2,4,3,8,5};
    //最大值脚标
    int max = 0;
    for (int i = 0; i<5; i++) {//第几轮排序
        max = i ;
        
        for (int j = i + 1; j<6; j++) {//当前这轮排序的具体实现
            if (a[max]<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;
}

评分

参与人数 1技术分 +1 收起 理由
柳柳桑 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马