排序算法:交換排序_冒泡排序

關鍵詞:,相鄰兩兩之間

趟: 每將數(shù)組中的一個數(shù)歸位,稱為“一趟”

bubble.png
private void bubbleSort(int[] pInts) {
        for (int i = 0; i < pInts.length; i++) {

            // 設置標記,如果沒有大小交換,就跳出此次比較
            boolean swap = false;
            // 比較相鄰兩位的大小,排除數(shù)組較比越界的可能,在長度上-1,在遍歷到倒數(shù)第二個的時候,j 就不再向后取值
            for (int j = 0; j < pInts.length - 1 - i; j++) {
                if (pInts[j] > pInts[j + 1]) {
                    swap(pInts, j, j + 1);
                    swap = true;
                }
            }

            // 此時說數(shù)組中的元素已經(jīng)按照要求排好了順序,如果此時外圈的循環(huán)還沒結束,就手動跳出
            if (!swap) {
                break;
            }

        }
    }

    private void swap(int[] pInts, int a, int b) {
        pInts[a] = pInts[a] + pInts[b];
        pInts[b] = pInts[a] - pInts[b];
        pInts[a] = pInts[a] - pInts[b];
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一 、算法介紹 (1)算法概述 排序算法有很多,其中最簡單直接的就是冒泡啦。冒泡排序(Bubble Sort)是一...
    FifiZhuang閱讀 287評論 0 0
  • 一、算法簡介 冒泡排序(Bubble Sort)是一種計算機科學最簡單的排序算法之一。 它通過重復地走訪要排序的數(shù)...
    likly閱讀 660評論 0 0
  • 簡介 冒泡排序,將臨近的數(shù)字兩兩比較,按照大小順序進行位置交換。 第一趟排序后,最大的數(shù)字(從小到大排序)或最小的...
    歇歇閱讀 523評論 0 3
  • 基本思想: 冒泡排序是一種交換排序,它的基本思想是:兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到?jīng)]有反序的記錄為...
    史史小子閱讀 712評論 0 0
  • 書上說:“冒泡排序算法是所有排序算法中最簡單、最基本的一種”。。。?!哇。。。講真我花了一個小時才完全領悟(發(fā)現(xiàn)自...
    noonbiteun閱讀 5,376評論 2 5

友情鏈接更多精彩內容