<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    什么是 java 冒泡排序


    發現錯別字 2年前 提問
    回答
    1
    瀏覽
    936
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1
    上官雨寶
    CISM-WSE 中級信息安全等級測評師

    冒泡排序法是一種簡單的排序算法,它重復地走訪過要排序的數組,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數組的工作是重復地進行直到沒有再需要交換,也就是說該數組已經排序完成。java冒泡排序屬于冒泡排序的一種。

    java冒泡排序代碼如下:

    public class BubbleSort {
        public void bubbleSort(Integer[] arr, int n) {
            if (n <= 1) return;       //如果只有一個元素就不用排序了
    
            for (int i = 0; i < n; ++i) {
                // 提前退出冒泡循環的標志位,即一次比較中沒有交換任何元素,這個數組就已經是有序的了
                boolean flag = false;
                for (int j = 0; j < n - i - 1; ++j) {        //此處你可能會疑問的j<n-i-1,因為冒泡是把每輪循環中較大的數飄到后面,
                    // 數組下標又是從0開始的,i下標后面已經排序的個數就得多減1,總結就是i增多少,j的循環位置減多少
                    if (arr[j] > arr[j + 1]) {        //即這兩個相鄰的數是逆序的,交換
                        int temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                        flag = true;
                    }
                }
                if (!flag) break;//沒有數據交換,數組已經有序,退出排序
            }
        }
    
        public static void main(String[] args) {
            Integer arr[] = {2, 4, 7, 6, 8, 5, 9};
            SortUtil.show(arr);
            BubbleSort bubbleSort = new BubbleSort();
            bubbleSort.bubbleSort(arr, arr.length);
            SortUtil.show(arr);
        }
    }

    回答所涉及的環境:聯想天逸510S、Windows 10。

    2年前 / 評論
    亚洲 欧美 自拍 唯美 另类