1. 程式人生 > >冒泡排序 (java)

冒泡排序 (java)

print pan java 數組長度 out 實現思路 pub big 依次

  • l1 冒泡排序
    • l2 冒泡排序介紹
    • l3 代碼
    • l4 源碼

l1 冒泡排序

l2 冒泡排序介紹

冒泡排序(Bubble Sort),又被稱為氣泡排序或泡沫排序。

它是一種較簡單的排序算法。它會遍歷若幹次要排序的數列,每次遍歷時,它都會從前往後依次的比較相鄰兩個數的大小;如果前者比後者大,則交換它們的位置。這樣,一次遍歷之後,最大的元素就在數列的末尾! 采用相同的方法再次遍歷時,第二大的元素就被排列在最大元素之前。重復此操作,直到整個數列都有序為止!

  • 實現思路: 找出第一大元素,和最後一個元素互換;找出第二大元素,和第一大元素前的元素互換... 找出前len-i個值中的最大值,和第len-i-1
    個元素(每行中除去排好序的元素的最後一個元素)互換.

技術分享圖片

l3 代碼

/*
* len:數組長度
*/
public int[] sort() {
        int bigger = 0;
        int bigger_index = 0;
        int i = 0, j = 0;

        for (i = len - 1; i > 0; i--) {
            bigger = array[0];
            bigger_index = 0;
            for (j = 1; j <= i; j++) {
                if
(bigger < array[j]) { bigger = array[j]; bigger_index = j; } } // 這趟最大值 // System.out.println("最大"+bigger); swap(bigger_index, i); } return array; }

l4 源碼

https://github.com/waddless/data_structure/tree/master/comparison_sorting/BubbleSort#l1-%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F

冒泡排序 (java)