美文网首页
java算法:冒泡排序

java算法:冒泡排序

作者: Bfmall | 来源:发表于2023-03-27 10:47 被阅读0次

每次冒泡过程都是从数列的第一个元素开始,然后依次和剩余的元素进行比较, 跟列队一样, 从左到右两两相邻的元素比大小, 高的就和低的换一下位置. 最后最高(值最大)的肯定就排到后面了.

但是这只是把最高的排到后面了, 还得找出第二高的, 于是又从第一个开始两两比较, 高的往后站, 然后第二高的也到后面了.

然后是第三高的再往后排…


image.png

代码实现:

/**
     * 冒泡排序
     */
    public void bubbleSort01() {
        int[] arr = {4,1,3,6,2,5};
        /**
         * 原始数组:{4,1,3,6,2,5}
         * 每轮第几次比较   第一次比较  ->   第二次比较   ->   第三次比较   ->   第四次比较    ->  第五次比较
         * 第一轮:      {1,4,3,6,2,5}-> {1,3,4,6,2,5} -> {1,3,4,6,2,5} -> {1,3,4,2,6,5} -> {1,3,4,2,5,6}
         * 第二轮:      {1,3,4,2,5,6}-> {1,3,4,2,5,6} -> {1,3,2,4,5,6} -> {1,3,2,4,5,6} -> {1,3,2,4,5,6}
         * 第N轮:如此下去
         */
        for (int i=0;i<arr.length - 1;i++) {//共比较几轮
            for (int j = 0;j < arr.length - 1 - i;j++) {//每轮比较(arr.length-1-i)次
                //每轮中相邻的元素进行比较,如果前面的元素比后面的元素大,则交换位置
                if (arr[j] > arr[j+1]) {
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
            Log.i(TAG, "第"+(i+1)+"轮,i="+i+", arr="+Arrays.toString(arr));
        }
        Log.i(TAG, "冒泡排序结果:arr="+Arrays.toString(arr));
    }

输出结果:

第1轮,i=0, arr=[1, 3, 4, 2, 5, 6]
第2轮,i=1, arr=[1, 3, 2, 4, 5, 6]
第3轮,i=2, arr=[1, 2, 3, 4, 5, 6]
第4轮,i=3, arr=[1, 2, 3, 4, 5, 6]
第5轮,i=4, arr=[1, 2, 3, 4, 5, 6]
第6轮,i=5, arr=[1, 2, 3, 4, 5, 6]
冒泡排序结果:arr=[1, 2, 3, 4, 5, 6]

相关文章

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

  • java 实现排序算法之「选择排序」

    java 实现排序算法系列 继冒泡排序算法之后,选择排序终于和大家见面了。为什么冒泡排序之后要说选择排序呢,是因为...

  • 算法-冒泡排序

    算 法:冒泡排序算法时间复杂度: 冒泡排序算法概述 冒泡排序伪代码 冒泡排序实现 冒泡排序算法概述 冒泡排...

  • 经典排序算法总结

    经典排序算法集锦 冒泡法 排序算法入门之冒泡排序 排序算法入门之冒泡排序优化

  • 七大排序算法之冒泡排序

    七大排序算法之冒泡排序 @(算法笔记)[排序算法, 冒泡排序, C++实现] 冒泡排序介绍 冒泡排序是七大排序算法...

  • 必须知道的排序算法和对应语言的实现

    必须知道的排序算法—Java实现 1 冒泡排序 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较...

  • 前端算法学习-第一篇

    冒泡排序算法 冒泡排序算法是最慢的排序算法之一,也是最容易实现的排序算法。之所以叫冒泡排序是因为使用这种算法排序时...

  • iOS算法总结-冒泡排序

    iOS算法总结-冒泡排序 iOS算法总结-冒泡排序

  • java实现冒泡排序算法

    java实现冒泡排序算法 介绍 冒泡排序是一种算法,比较相邻元素,如果他们处在错误的位置上,那么交换他们的位置。排...

  • Java版排序算法

    网上很多Java排序算法有错误,以下是本人经过整理校验后的算法。 1、冒泡排序 2、快速排序 3、选择排序 4、堆...

网友评论

      本文标题:java算法:冒泡排序

      本文链接:https://www.haomeiwen.com/subject/esvirdtx.html