啊哈算法-冒泡排序

2021/12/11 22:48:14

本文主要是介绍啊哈算法-冒泡排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

冒泡排序通过依次比较相邻元素的大小值,将指定的值(二者中的较大或较小值,这要取决于想要升序还是降序)不断向后移动,在下一次排序时最后的值已经确定是最大值或最小值,所以下一次的排序比较不再与最后一个值比较。循环往复直到所有元素排列完毕(即最后一个未排列数也是第一个未排列数的时候)。

升序的冒泡排序

#include<stdio.h>
int main(){//输入5个数升序输出
    int a[10];
    for(int i=0;i<5;i++) scanf("%d",&a[i]);
    
    for(int i=4;i>=0;i--){//冒泡排序开始 
        for(int j=0;j<i;j++){
            if(a[j]>a[j+1]){//如果后面的值小于前面的值 
                int tem=a[j]; //两个元素交换,tem为临时变量,便于交换 
                a[j]=a[j+1];
                a[j+1]=tem;
            }
        }
    }//冒泡排序结束 
    
    for(int i=0;i<5;i++) printf("%d ",a[i]);
    return 0; 
}

降序的冒泡排序

#include<stdio.h>
int main(){//输入5个数降序输出
    int a[10];
    for(int i=0;i<5;i++) scanf("%d",&a[i]);
    
    for(int i=4;i>=0;i--){//冒泡排序开始 
        for(int j=0;j<i;j++){
            if(a[j]<a[j+1]){//如果后面的值大于前面的值 
                int tem=a[j]; //两个元素交换,tem为临时变量,便于交换 
                a[j]=a[j+1];
                a[j+1]=tem;
            }
        }
    }//冒泡排序结束 
    
    for(int i=0;i<5;i++) printf("%d ",a[i]);
    return 0; 
}

 



这篇关于啊哈算法-冒泡排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程