zoukankan      html  css  js  c++  java
  • java冒泡排序的实现过程

    冒泡排序的思路:用相邻两元素比较,符合要求交换位置。

    例子中使相邻两元素比较,大的放右边,最终实现从小到大的排序。

    第一步:首先实现一个数组中最大值在最右边:

    public static void main(String args[]){
            int[] arr  = {12,4,2,34,8};           //定义一个数组arr
            bubbleSort(arr);                      //调用方法bubbleSort
            System.out.println("排序后为:");     //打印最后结果
            for(int i = 0;i<arr.length;i++){
                System.out.print(arr[i]+",");
            }
        }
        
        public static void bubbleSort(int[] arr){      
            for(int i = 0; i<arr.length-1;i++){
                if(arr[i]>arr[i+1]){
                    int temp = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = temp;
                }
            }
        }            

    打印出来如下:

    排序后为:
    4,2,12,8,34,

    第二步:把第二大的值送到最后一位的左边

    添加代码段如下:

    forint  i = 0;i<arr.length-1-1;i++){
      if(arr[i]>arr[i+1]){
         int temp = arr[i];
         arr[i] = arr[i+1];
         arr[i+1] = temp;      
       }   
    }

    同样,一次类推;最终可以达到将数字从小到大的排序;

    总结我们的代码,

        public static void main(String args[]){
            int[] arr = {8,34,4,2,12};
            bubbleSort(arr);            //定义方法bubbleSort
            System.out.println("排序后为: ");
            for(int i = 0;i<arr.length;i++){
                System.out.print(arr[i]+",");
            }
        }
        public static void bubbleSort(int[] arr){
            for(int j = 0;j<arr.length-1;j++){      //j用于控制轮数,只要length-1轮即可
                for(int i = 0;i<arr.length-1-j;i++){    i用于控制两个数字之间比较与交换
                    if(arr[i]>arr[i+1]){
                        int temp = arr[i];
                        arr[i] = arr[i+1];
                        arr[i+1] = temp;
                    }
                }
            }
        }

    排序后为:
    2,4,8,12,34,

  • 相关阅读:
    正则表达式把所有Paul替换成Ringo:Paul Puala Pualine paul Paul
    DOM 和 BOM
    新手的grid布局
    css中的单位和css中的颜色表示方法
    css定位
    Winform 通过 WebBrowser 与 JS 交互
    PDF目录编辑器使用介绍
    [.NET] 控制只启动单个指定外部程序
    搭建 Frp 来远程内网 Windows 和 Linux 机子
    CentOs8 nmcli命令行方式操作网卡配置
  • 原文地址:https://www.cnblogs.com/zflovezk9/p/8312733.html
Copyright © 2011-2022 走看看