回覆列表
  • 1 # Y雜貨鋪

    這是平時經常用到的排序方法整理,簡單易懂

    快速排序:首先是最簡單的Array.sort,直接進行排序:

    public static void main(String[] args) {

    int[] arr = {4,3,5,1,7,9,3};

    Arrays.sort(arr);

    for (int i : arr){

    System.out.println(i);

    }

    2、部分排序法:使用Array.sort還可進行選擇想要排序的部分數字,如將下角標編號為1~4的數字進行排序,其他數字順序不變。

    public static void main(String[] args) {

    int[] arr = {4,3,5,1,2,9,3,0};

    Arrays.sort(arr,1,4);

    for (int i = 0;i<arr.length;i++){

    System.out.print(arr[i]+",");

    }

    }

      輸出結果為:4,1,3,5,2,9,3,0,     可見僅下標為1~4的數字進行了排序。

    3、氣泡排序法:顧名思義,從下到上,兩兩進行比較,越小的越往上,從而形成由小到大的排序。

    public static void bubble(int[] arr){

    int temp;

    //根據角標進行比較,

    for(int i = 0; i<arr.length; i++){

    //j是陣列的最後一個角標

    for (int j = arr.length-1; j > i; j--) {

    if (arr[j] < arr[j - 1]) {

    //從後往前進行比較,小數往前,一輪之後最小數就在最前面了

    temp = arr[j - 1];

    arr[j - 1] = arr[j];

    arr[j] = temp;

    }

    }

    }

    }

    public static void main(String[] args) {

    int[] arr = {3,22,5,3,66,2,9};

    bubble(arr);

    //使用foreach迴圈輸出

    for(int x : arr){

    System.out.println(x);

    }

    //使用字串表達形式輸出,輸出形式更為直觀

    System.out.println(Arrays.toString(arr));

    }

  • 中秋節和大豐收的關聯?
  • 本人不懂會計,但卻被安排做會計,想拒絕,直接說好嗎?