java算法 -- 冒泡排序

java算法 -- 冒泡排序
  1. 比較先後相鄰的二個數據,若是前面數據大於後面的數據,就將這二個數據交換。
  2. 這樣對數組的第 0 個數據到 N-1 個數據進行一次遍歷後,最大的一個數據就「沉」到數組第N-1個位置。
  3. N=N-1,若是 N 不爲 0 就重複前面二步,不然排序完成。
public class BubbleSortTest {


    public static void main(String[] args) {
        int[] array = {1, 2, 5, 41, 7, 11, 13, 17, 59, 19, 23, 29, 31, 37, 43, 47, 53};
        int[] bubbleSortArrays = bubbleSort(array);
        for (int s : bubbleSortArrays) {
            System.out.print(s + " ");
        }
    }

    /**
     * 冒泡排序
     * @param array
     * @return
     */
    private static int[] bubbleSort(int[] array) {
        int i, j;
        int n = array.length;
        for (i = 0; i < n; i++) {//表示 n 次排序過程。
            for (j = 1; j < n - i; j++) {
                if (array[j - 1] > array[j]) {//前面的數字大於後面的數字就交換
                    //交換 array[j-1]和 array[j]
                    int temp;
                    temp = array[j - 1];
                    array[j - 1] = array[j];
                    array[j] = temp;
                }
            }
        }
        return array;

    }
}
相關文章
相關標籤/搜索