Java常用排序演算法(從小到大

2021-09-02 10:26:58 字數 961 閱讀 9629

(1)##氣泡排序##

特點:效率低,實現簡單。

思想:將序列中所有元素兩兩比較,將最大的放在最後面。將剩餘序列中所有元素兩兩比較,將最大的放在最後面。重複第二步,直到只剩下乙個數。

32 43 23 13 5

32 43 23 13 5

32 23 43 13 5

32 23 13 43 5

32 23 13 5 43

23 32 13 5 43

23 13 32 5 43

23 13 5 32 43

13 23 5 32 43

13 5 23 32 43

5 13 23 32 43

public static void bubblesort(int arr) ;

for(int i =0;iarr[j+1]) }}

}(2)##選擇排序##

特點:效率低,容易實現。

思想:它的工作原理是每一次從待排序的資料元素中選出最小的乙個元素,存放在序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小元素,然後放到已排序序列的末尾。以此類推,直到全部待排序的資料元素排完。 選擇排序是不穩定的排序方法。

32 43 23 13 5

5 32 43 23 13

5 13 32 43 23

5 13 32 23 43

public static void selectsort(inta)

t = array[low];

array[low] = array[p_pos];

array[p_pos] = t;

// 分而治之

quicksort(array, low, p_pos - 1);// 排序左半部分

quicksort(array, p_pos + 1, high);// 排序右半部分

}

氣泡排序(從小到大)

氣泡排序是一種極其簡單的排序演算法,也是我所學的第乙個排序演算法。它重複地走訪過要排序的元素,一次比較相鄰兩個元素,如果他們的順序錯誤就把他們調換過來,直到沒有元素再需要交換,排序完成。這個演算法的名字由來是因為越小 或越大 的元素會經由交換慢慢 浮 到數列的頂端。氣泡排序演算法的運作如下 比較相鄰...

氣泡排序詳解(從小到大)

實現 將數列中的第乙個元素和第二個元素比較數值大小,若第乙個元素比第二個元素大,則交換位置。然後再將第二個元素和第三個元素比較數值大小,第三個元素和第四個元素比較 依次不斷地比較,交換。不斷迴圈比較,直到不再發生交換,這就表明排序已完成,此時得到就是乙個有序數列。簡單來說就是不斷迴圈比較數列中相鄰元...

從小到大排序

六一兒童節,老師帶了很多好吃的巧克力到幼兒園。每塊巧克力j的重量為w j 對於每個小朋友i,當他分到的巧克力大小達到h i 即w j h i 他才會上去表演節目。老師的目標是將巧克力分發給孩子們,使得最多的小孩上台表演。可以保證每個w i 0且不能將多塊巧克力分給乙個孩子或將一塊分給多個孩子。第一行...