首页 > 编程语言 > 详细

冒泡排序重新认识

时间:2018-04-08 11:18:33      阅读:196      评论:0      收藏:0      [点我收藏+]

习题:将数组前5个元素顺序排序,后5个倒序排序

#include <stdio.h>

void main(){
    int a[10]={11,2,3,4,5,6,7,8,9,10};
    int i,j;
    
    for(i=0;i<5;i++){
        for(j=0;j<5-i-1;j++){
            if(a[j]>a[j+1]){
                int tmp=a[j];
                a[j]=a[j+1];
                a[j+1]=tmp;
            }   
        }   
    }   
    for(i=5;i<10;i++){               //外循环代表需要遍历的元素
        for(j=5;j<10-i+4;j++){    //内循环代表除去最大/最小元素之外需要遍历的元素,注意这边(j<?)的取值
            if(a[j]<a[j+1]){
                int tmp=a[j];
                a[j]=a[j+1];
                a[j+1]=tmp;
            }   
        }   
    }   

    for(i=0;i<10;i++){
        printf("%d ",a[i]);
    }   
    printf("\n");
}
    

参考:冒泡排序图解

 

冒泡排序重新认识

原文:https://www.cnblogs.com/stellar/p/8743780.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!