`

冒泡排序的优化算法(Java)

阅读更多

对于基本有序的数据,使用优化后的冒泡排序是最佳选择,他在发现数据已经有序后将结束排序,代码如下:

public static void BubbleSort_2(int []a){
    int k=a.length;
    int temp;
    boolean flag=true;    //结束循环的标志位
    while(flag){
        flag=false;
        for(int i=1;i<k;i++){
           if(a[i-1]>a[i]){
               temp=a[i-1];
	           a[i-1]=a[i];
	           a[i]=temp;
	           flag = true;
           }
        }
        k--;
    }

}
分享到:
评论
2 楼 HNUlanwei 2015-09-18  
flag = true不是为了跳出循环,而是为了继续外层的while循环
1 楼 QuarterLifeForJava 2015-09-17  
把flag = true; 换成break就可以了

相关推荐

Global site tag (gtag.js) - Google Analytics