• 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,

  • 相关阅读:
    在Swift中定义属于自己的运算符
    计算型属性 vs 懒加载
    swift- mutating
    什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?
    微信授权登录-微信公众号和PC端网站
    PHP实现购物车的思路和源码分析
    PHP实现图片的等比缩放和Logo水印功能示例
    PHP实现IP访问限制及提交次数的方法详解
    Laravel 队列发送邮件
    laravel 定时任务通过队列发送邮件
  • 原文地址:https://www.cnblogs.com/zflovezk9/p/8312733.html
Copyright © 2020-2023  润新知