1. 程式人生 > >java的八種排序算法---冒泡排序

java的八種排序算法---冒泡排序

spa -i 工作 兩個 font 隨著 ber 冒泡排序 宋體

冒泡排序是一種簡單的排序算法,它重復的走訪要排序的數列,兩兩比較相鄰的元素,如果左邊的大於右邊就把他們交換過來,以此類推重復的排序,直到沒有要排序的數列為止,這個算法的由來是因為越小的數列隨著排序會慢慢的浮到數列頂端。

/**
     * 冒泡排序
     * 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。  
     * 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。  
     * 針對所有的元素重復以上的步驟,除了最後一個。
     * 持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。 
     * @param numbers 需要排序的整型數組
     */
    public static void bubbleSort(int[] numbers)
    {
        int temp = 0;
        int size = numbers.length;
        for(int i = 0 ; i < size-1; i ++)//外層循環控制排序趟數
        {
        for(int j = 0 ;j < size-1-i ; j++)//內層循環控制每趟比對次數
        {
            if(numbers[j] > numbers[j+1])  //交換兩數位置
            {
            temp = numbers[j];
            numbers[j] = numbers[j+1];
            numbers[j+1] = temp;
            }
        }
        }
    }

  

java的八種排序算法---冒泡排序