zoukankan      html  css  js  c++  java
  • java冒泡算法排序

    java冒泡算法排序的代码实现如下:

    import java.util.Arrays;
    
    public class BubbleSort {
        public static void main(String[] args){
            int[] arr = new int[]{2,3,7,1};
            for(int i=0;i<arr.length-1;i++){
                for(int j=0;j<arr.length-1-i;j++){
                    if(arr[j]>arr[j+1]){
                        int temp = arr[j+1];
                        arr[j+1] = arr[j];
                        arr[j] = temp;
                    }
                }
                System.out.println("第"+(i+1)+"次循环之后:"+Arrays.toString(arr));
            }
        }
    }

    控制台的输出如下:

    第1次循环之后:[2, 3, 1, 7]
    第2次循环之后:[2, 1, 3, 7]
    第3次循环之后:[1, 2, 3, 7]

    代码使用了一个外循环陷套一个内循环的形式,数组的长度是4,外循环循环了3次,

    第1次循环之后,把第1最大值放到数组的最后第1位,

    第2次循环之后,把第2最大值放到数组的最后第2位,

    第3次循环之后,把第3最大值放到数组的最后第3位,

    自然而然,不用再循环,第4最后值就会放到最后第4位了,所以外循环只用循环3次就可以了。

    内循环时,每次只比较相邻两个数值,把较大值置后,较小值置前,

    第1次外循环时,内循环要把最大值放到最后,所以要比较4个数值,内循环3次就可以了,

    第2次外循环时,不用比较最大值,因为它已经放到最后了,所以要比较3个数值,内循环2次就可以了,

    第3次外循环时,只用比较两个数值,内循环1次即可。

  • 相关阅读:
    iOS-深入理解(转载)
    iOS开发
    夜光遥感
    希尔伯特曲线在地图图像分割中的应用
    希尔伯特曲线
    NLP生成论文
    MapGIS SDK(C++)【基础篇】
    从npm到vue和nodejs
    分形在遥感和GIS中的应用
    MapReduce、Hadoop、PostgreSQL、Spark
  • 原文地址:https://www.cnblogs.com/qq2083587182/p/14455241.html
Copyright © 2011-2022 走看看