一張圖徹底瞭解冒泡排序

    public static void main(String[] args) {
        // 1。冒泡排序
        int[] arr = { 3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48 };
//        int[] arr = { 3, 4, 5, 6, 7, 36};
        // 統計比較次數
        int count = 0;
        for (int i = 0; i < arr.length - 1; i++) {
            boolean flag = true;
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    // 交換位置
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    flag = false;
                }
                count++;
            }
            // 如果已經排好序的可以減少循環次數
            if(flag) {
                break;
            }
        }
        System.out.println(Arrays.toString(arr));
        System.out.println("冒泡一共比較了:" + count + "次");
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章