冒泡法的优化

//冒泡法的优化
//优化计算时间  

package kill;
import java.util.Arrays;
public class TestDemo2 {
    
    public static void bubbleSort2(int[] array){
        System.out.println(System.currentTimeMillis()); //开始语句
        int tmp = 0;
        for(int i = 0;i < array.length-1;i++){//趟数
            boolean swap = false;
            //当前面的数比后面的数大时执行for
            for(int j = 0;j < array.length-1-i;j++){
                if(array[j] > array[j+1]){
                    tmp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = tmp;
                    swap = true;
                }
            }
            //当前面的数比后面的数小时跳出,这样就省下多余的步骤
            if(!swap){//swap == false
                break;
            }
        }
        System.out.println(System.currentTimeMillis());//结束语句  用来计算时长
    }
    public static void main(String[] args) {
    
        int[] array=new int[10000];
        
        for(int i = 0;i < array.length;i++){
            array[i] = (int)(Math.random()*10+1);
        }
        
        bubbleSort2(array);
        System.out.println(Arrays.toString(array));
    }

}

 

posted on 2018-05-20 17:07  番茄疯了  阅读(171)  评论(0)    收藏  举报