`
huiqinbo
  • 浏览: 347754 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

冒泡方法排序(回钦波个人分析)

阅读更多

package qinbo.hui;

public class HuiQinBo {
 

    public static void main(String args[]){

      int[] values={3,1,6,2,9,0,7,4,5,12,30,11};

      sort(values);

      for(int i=0;i<values.length;i++){//排序后打印数组中的元素

        System.out.println("Index: "+i+"  value: "+values[i]);

      }

    }

    public static void sort(int[] values){

      int temp;

      for(int i=0;i<values.length;i++){//有很多网友问我为什么要有这两次的循环的原因,在下面详解

        for(int j=0;j<values.length-i-1;j++){//比较次数

          if(values[j]>values[j+1]){

            temp=values[j];

            values[j]=values[j+1];

            values[j+1]=temp;
            System.err.print("j 第"+j+"次");
            System.err.println("    i 第"+i+"次");
          }
         

        }

      }

    }

  


}

 

 

回钦波分析:(更多交流、更多了解 QQ:444084929)

 

冒泡排序
最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。在作第二遍处理时,由于最高位置上的元素已是“最轻”元素,所以不必检查。一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排好序。这个算法可实现如下。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics