千家信息网

Java实现冒泡排序的代码怎么写

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天小编给大家分享一下Java实现冒泡排序的代码怎么写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一
千家信息网最后更新 2026年11月01日Java实现冒泡排序的代码怎么写

今天小编给大家分享一下Java实现冒泡排序的代码怎么写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。


冒泡排序原理

  1. 比较相邻的两个元素。如果第一个比第二个大则交换他们的位置(升序排列,降序则反过来)。

  2. 从列表的开始一直到结尾,依次对每一对相邻元素都进行比较。这样,值最大的元素就通过交换"冒泡"到了列表的结尾,完成第一轮"冒泡"。

  3. 重复上一步,继续从列表开头依次对相邻元素进行比较。已经"冒泡"出来的元素不用比较(一直比较到结尾也可以,已经"冒泡"到后面的元素即使比较也不需要交换,不比较可以减少步骤)。

  4. 继续从列表开始进行比较,每轮比较会有一个元素"冒泡"成功。每轮需要比较的元素个数会递减,一直到只剩一个元素没有"冒泡"时(没有任何一对元素需要比较),则列表排序完成。

冒泡排序过程

以该一维数组为例:

int[] array = new int[]{55,33,22,66,11};
第一轮冒泡
  1. 图①为第一轮"冒泡"中数据的起始顺序柱形图,只要满足条件:"前一个元素比后一个元素大,则交换位置顺序,否则不交换"。

  2. array[0]=55 > array[1]=33,条件满足,交换元素的位置顺序,如图②所示;

  3. array[1]=55 > array[2]=22,条件满足,交换元素的位置顺序,如图③所示;

  4. array[2]=55 < array[3]=66,条件不满足,不交换元素的位置顺序,如图③所示;

  5. array[3]=66 > array[4]=11,条件满足,交换元素的位置顺序,如图④所示;

第一轮"冒泡"演示如图所示:

第二轮冒泡
  1. 图④为第二轮"冒泡"中数据的起始顺序柱形图;

  2. array[0]33 > array[1]=22,条件满足,交换元素的位置顺序,如图⑤所示;

  3. array[1]33 < array[2]=55,条件不满足,不交换元素的位置顺序,如图⑤所示;

  4. array[2]55 > array[3]=11,条件满足,交换元素的位置顺序,如图⑥所示;

第二轮"冒泡"演示如图所示:

第三轮冒泡
  1. 图⑥为第三轮"冒泡"中数据的起始顺序柱形图;

  2. array[0]=22 < array[1]=33,条件不满足,不交换元素的位置顺序,如图⑥所示;

  3. array[1]=33 > array[2]=11,条件满足,交换元素的位置顺序,如图⑦所示;

第三轮"冒泡"演示如图所示:

第四轮冒泡
  1. 图⑦为第四轮"冒泡"中数据的起始顺序柱形图;

  2. array[0]=22 > array[1]=11,条件满足,交换"22"和"11"的位置顺序,如图⑧所示;

第四轮"冒泡"演示如图所示:

至此,对数组的冒泡排序的过程就完成啦!

具体代码实现

BubbleSort类:

public class BubbleSort {    public static void sort(int array[]) {        //i表示第几轮"冒泡",j 表示"走访"到的元素索引。        // 每一轮"冒泡"中,j 需要从列表开头"走访"到 array.length - 1 的位置。        for (int i = 0; i < array.length - 1; i++) {            for (int j = 0; j < array.length - 1 - i; j++) {                if (array[j] > array[j + 1]) {                    int temp = array[j];                    array[j] = array[j + 1];                    array[j + 1] = temp;                }            }        }    }}

TestMain类

import java.util.Arrays;public class TestMain {    public static void main(String[] args) {        int[] array = new int[]{55, 33, 22, 66, 11};        //输出排序前的array数组        System.out.print("排序前:");        System.out.println(Arrays.toString(array));        //调用BubbleSort类中的sort方法对array数组进行排序        BubbleSort.sort(array);        //输出冒泡排序后的array数组        System.out.print("排序后:");        System.out.println(Arrays.toString(array));    }}

运行结果如下:

排序前:[55, 33, 22, 66, 11]排序后:[11, 22, 33, 55, 66]

以上就是"Java实现冒泡排序的代码怎么写"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

元素 顺序 如图 排序 位置 条件 数组 一轮 数据 知识 篇文章 演示 起始 代码 三轮 四轮 二轮 内容 开头 过程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技股互联网 鑫亿盛互联网科技 云电互联网科技 广州凡科互联网科技 人人互联网科技是培训 互联网公司会议桌创意科技软装饰 科技赋能互联网健康 互联网科技中介 天津腾达互联网科技有限公司 迪庆互联网科技招生 中国互联网公司排名锤子科技 2021互联网科技公司排名 本届互联网大会上的黑科技 江苏互联网科技小贷 广州有谷有贝互联网科技有限公司 吉林省码上互联网科技电话 普陀区互联网教育科技管理办法 银川新华互联网科技学校是国营吗 北京瑞云互联网科技有限公司 互联网科技创新方面的资料 腾讯阿里互联网科技 互联网科技金融公司 互联网科技英文 银优互联网科技有限公司 互联网企业和科技型企业 杭州壁岐互联网科技有限公司 长沙渺峰互联网科技有限公司 银川新华互联网科技学校原画 北京天晋互联网科技有限公司 科技互联网经济论坛
0