java 冒泡排序

只要有一輪沒有發生交換,說明數據的順序已經排好,沒有必要繼續進行循環下去了。spa

 

public static void main(String[] args) {
    int[] arr = {1,3,5,7,9,2,4,6,8,0};
    sort(arr);
}

public static void sort(int[] arr){
    boolean flag;
    for (int i = 0; i < arr.length-1; i++) {
        flag = false;//是否交換位置
        for (int j = 0; j <arr.length-1-i; j++){
            if (arr[j] > arr[j+1])
                change(arr,j,j+1);
            flag=true;
        }
        if (!flag)
            break;
    }
}

public static void change(int[] arr,int x,int y){
    int temp = arr[x];
    arr[x] = arr[y];
    arr[y] = temp;
}
相關文章
相關標籤/搜索