1. 程式人生 > >面試題-冒泡演算法

面試題-冒泡演算法

冒泡演算法,

原理是:比較第一個與後一個比較,如果第一個比後一個大,交換,那麼第一層遍歷完之後,末尾的最後一個一定是最大的。

              所以第二次迴圈的時候只迴圈到倒數第三個就可以了。

               以此類推。每層迴圈的次數會減一。


        int temp;

        //外層迴圈是排序的趟數
        for (int i = 0; i < arrays.length - 1 ; i++) {

            //內層迴圈是當前趟數需要比較的次數
            for (int j = 0; j < arrays.length - i - 1; j++) {

                //前一位與後一位與前一位比較,如果前一位比後一位要大,那麼交換
                if (arrays[j] > arrays[j + 1]) {
                    temp = arrays[j];
                    arrays[j] = arrays[j + 1];
                    arrays[j + 1] = temp;
                }
            }
        }