冒泡排序(bubble sort)

冒泡排序java

       它是指這樣一種排序:將一個待排序序列從頭至尾依次兩兩相比較,若是後者比前者小,那麼交換二者的位置。(一趟完成以後,最大的數字就在最後了)通過n-1趟比較事後,則排序完成。code

        比較過程以下:排序

        先將R[0]與R[1]比較,若是R[0]>R[1],那麼將二者交換,而後比較R[1]與R[2],依次類推,直到比較到R[n-2]與R[n-1]。這樣比較完一趟以後,最大的數字就已經排在序列最後了(這樣就排好最大的數字)。而後再重複上面的步驟,將第2大,第3大的數字,……都排好,那麼整個序列就排列好了。class

        這個排序一共會比較n-1趟。sort

public static int[] bubbleSort(int[] sort) {
        int temp;
        int i, j;
        // 一共會比較n-1次
        for (i = 0; i < sort.length - 1; i++) {
            // 每次將最大的數沉底
            for (j = 1; j < sort.length - i; j++) {
                // 若是後一個數比前一個數小,那麼交換兩個數的位置
                if (sort[j] < sort[j - 1]) {
                    temp = sort[j];
                    sort[j] = sort[j - 1];
                    sort[j - 1] = temp;
                }
            }
        }
        return sort;
    }
相關文章
相關標籤/搜索