對N個數進行從大到小排序

weixin_43442381發表於2020-12-30


一、程式碼

import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5,6,7,8,9,10};
        System.out.println("初始陣列為"+Arrays.toString(arr));
        test(arr);
        System.out.println("從大到小排序完畢後"+Arrays.toString(arr));
    }
    public static void test (int[] arr){
        int temp;
        for (int i = 0; i < arr.length; i++) {
            for (int x = 0; x < arr.length-1-i; x++) {
                if (arr[x]<arr[x+1]){
                    temp=arr[x];
                    arr[x]=arr[x+1];
                    arr[x+1]=temp;
                }
            }
        }
    }
}

二、實現過程

(這裡假設N為10.)
氣泡排序(這裡以從大到小排序為例)
  氣泡排序的核心思想就是比較第一個數與第二個數,如果第一個數大於第二個數,則不作任何操作,反之,交換位置.然後再比較第二個數與第三個數,如果第二個數大於第三個數,則不作任何操作,反之,交換位置.一次往返,就可以發現.當進行(10-1=)9次比較後,我們可以確定最小值放在了陣列的最後.
  然後再重複上述過程,經過(10-2=)8次比較後,我們就可以確定第二個小的值放在了倒數第二位…這樣一直進行,我們就可以實現從大到小排序啦.

總結

  氣泡排序的實現主要是理解了思路以後,找到外迴圈和內迴圈的關係,才可以正確敲出程式碼.

相關文章