天天看點

排序-冒泡排序-java實作冒泡排序 

冒泡排序

冒泡排序是一種簡單的排序算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端。

排序-冒泡排序-java實作冒泡排序 
/**
     * 冒泡排序
     *
     * 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
     *
     * 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。
     *
     * 針對所有的元素重複以上的步驟,除了最後一個。
     *
     * 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
     */
    @Test
    public void sort1(){
        //定義一個待排序數組
        int[] arr = {1,4,8,3,9,6};
        //外循環
        for (int i = 1; i<arr.length; i++){ //控制排序次數
            //System.out.print(arr[i]); // 1 4 8 3 9 6 依次取出每一個元素
            //内循環
            for (int j = 0 ; j < arr.length-i;j++){
                System.out.print(arr[j]); //第一次循環擷取第一個元素
                System.out.println("-----------");
                System.out.print(arr[j+1]); //第一次循環擷取第二個元素.
                System.out.println("++++++++++++");

                //比較倆個元素大小
                if (arr[j] > arr[j+1]) {
                    //如果第一個元素大于第二個元素則換
                    int temp;
                    temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        for (int a : arr){
            System.out.print(a);
        }
    }
           

繼續閱讀