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

    为了方便大家理解,我尽量写的浅显易懂,同时希望大家把不理解的发到评论中,我会尽所能,帮助你l理解。

    欢迎qq进行交流问题: 

          本人QQ :1770115451             算法交流群: 1061907071

      总体思路:  

        前一个元素与后一个元素进行比较,将大的元素放到后边(交换),一轮比较后,最大的元素就会出现在最后的位置,然后继续从剩下的元素寻找最大的元素。由于每一轮比较后,会在数组最后面确定了一个位置。如果将数组的最后一个位置比作 天花板。那么每进行一轮比较所得出的最大元素会占用一个位置。所以天花板的高度就会降低一个位置。也就是说,天花板的位置-1。

      //下图是关于数组中天花板的解释

     

     算法实现步骤:

        第一步:定义一个外层循环,控制天花板的高度。

        第二步:在定义一个内层循环,用来控制前一个元素与后一个元素的比较

        第三步:如果前一个元素大于后一个元素,则进行交换,反之不变

     关键代码:

     1     //冒泡排序法
     2     public static void bobbleSort (int arr[]){
     3         //天花板从高到底逐次递减
     4         for(int celing = arr.length-1;celing>=0;celing--){
     5             //从第一个位置到天花板的位置一次进行比较
     6             for(int i=0;i<celing;i++){
     7                 if(arr[i]>arr[i+1]){
     8                     //如果前面的元素大于后面的元素,则交换
     9                     int temp=arr[i];
    10                     arr[i]=arr[i+1];
    11                     arr[i+1]=temp;
    12                 }
    13             }
    14         }    
    15     }

      

  • 相关阅读:
    DB2开发系列之三——SQL函数
    DB2开发系列之二——SQL过程
    DB2开发系列之一——基本语法
    优化的“真谛”
    DB2性能调优
    AIX分页(交换)空间的监控
    AIX5L内存监控和调整
    直接删除undo及temp表空间文件后的数据库恢复一例
    【LeetCode】 -- 68.Text Justification
    关于linux下的.a文件与 .so 文件
  • 原文地址:https://www.cnblogs.com/songchengyu/p/12891450.html
Copyright © 2011-2022 走看看