黑马程序员技术交流社区

标题: 没有之一,认真看看,你会收获很大 [打印本页]

作者: neal123    时间: 2016-2-29 07:15
标题: 没有之一,认真看看,你会收获很大
数组那部分的选择排序,小白晕不晕?


#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;
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2