博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
冒泡排序算法
阅读量:7091 次
发布时间:2019-06-28

本文共 1466 字,大约阅读时间需要 4 分钟。

                                 冒泡排序算法

1. 原理

冒泡排序,顾名思义就是将想冒泡一样将最大的那个数冒到最高点。          在一个数组中,遍历这个数组,从第一个数开始,和后面一个数两两比较,          如果前面一个数比后面一个数大,就交换2个数的位置,这样可保证数组中          最大的那个数一定在最后一位。这是第一次比较,接下来这个最大的数就          不参与比较了,第二次比较重复上面操作,将第二大的数放在倒数第二位。          同理,每次都把最大的数放在参与比较的数的最后一位,          比到参与的只剩下一位数时,排序完成。

2.举例

假设有个长度为4的数组 a[]={22,3,44,21},下面用冒泡排序算法对其进行升序排序。    第一趟比较:22和3比较,22大于3,于是交换位置 数组变成 a[]={3,22,44,21}                         22和44比较,22小于44,不做操作 数组为a[]={3,22,44,21}                         44和21比较,44大于22,于是交换位置 数组为a[]={3,22,21,44}                            44成功冒泡,44不参与下一趟比较了     第二趟比较:3和22比较,3小于22,不做操作 数组为a[]={3,22,21,44}                          22和21比较,22大于21,于是交换 数组变为a[]={3,21,22,44}                             22成功冒泡,44和22不参与下一趟比较    第三趟比较:3和21比较,3小于21 不做操作 数组为a[]={3,21,22,44}                             21和22比较,21小于22 不做操作 数组为a[]={3,21,22,44}                             21成功冒泡,44,22,21不参与下次比较     由于参与比较的只剩下3一个数了,排序结束,结果为数组升序排序。

3.java代码实现

package sort;import java.util.Arrays;public class BubbleSort {    public static void main(String[] args) {        int a[]={22,3,44,21};        bubbleSort(a);        System.out.println(Arrays.toString(a));    }       //冒泡排序算法    public static void bubbleSort(int[] a){        int temp;        for(int i=0;i
a[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } }}

打印结果为:[3, 21, 22, 44]

转载于:https://blog.51cto.com/10972685/2365820

你可能感兴趣的文章
hdu 大明A+B
查看>>
OO第二次博客作业
查看>>
旋转效果
查看>>
主机名命名规范
查看>>
docker 参数
查看>>
ESLint 规范项目代码
查看>>
栈内存和堆内存的区别
查看>>
Spring Theme简单应用
查看>>
----uni-app之安卓手机定位权限问题----
查看>>
SQL中Case的使用方法
查看>>
CentOS7 MySQL
查看>>
[洛谷P2584][ZJOI2006]GameZ游戏排名系统
查看>>
[USACO07NOV]电话线Telephone Wire
查看>>
随机数
查看>>
单例模式和工厂模式
查看>>
犹太节期
查看>>
11个实用的CSS学习工具[转载收藏]
查看>>
key寻址算法
查看>>
Estimation
查看>>
编译原理first集和follow集的求法
查看>>