冒泡排序重新认识

Posted Hsin wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序重新认识相关的知识,希望对你有一定的参考价值。

习题:将数组前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");
}
    

参考:冒泡排序图解

 

以上是关于冒泡排序重新认识的主要内容,如果未能解决你的问题,请参考以下文章