多種氣泡排序法的比較

2021-09-12 02:31:33 字數 556 閱讀 7274

1.較小元素向上浮動(首部浮動),外層為比較躺數,內層為每躺的比較次數,若為向上方浮動較小,從尾部開始進行比較,相鄰關鍵字比較,較小的往上浮動,使得一趟氣泡排序後關鍵字最小的元素到達最上端,後面每一趟依次從無序區找出無序區最小元素放入有序區的末端,氣泡排序完成後,有序區為全域性有序

比較躺數n=待比較算術個數length-1(最後一趟只有乙個元素,無需進行比較 )

void bubblesort(int c, int n)

2.較大元素向下沉澱,模擬冒泡法,迴圈條件和比較初始位置不同。相比於冒泡上浮向首部移動的比較方向(c[j]與c[j-1]),較大元素則從首部向尾部進行比較(即c[j]和c[j+1]),外層的初始值為每一趟比較的終點位置,內層從頭部開始

for(int i=n-1;i>1;i--) for(j=0;jc[j+1]) 交換位置

注意:上述兩方法結果都為有小到大排列,只是排列的依據不同

氣泡排序 氣泡排序法

冒泡法是一種簡單的排序方法,它的實現非常簡單。首先對n個專案進行掃瞄,比較相領兩個專案的大小,若發現違背大小次序則進行互換,由此可以使n個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...

排序 氣泡排序法

氣泡排序法,是最簡單的一種排序方法,從第乙個位置開始與相鄰位置比較,判斷是否需要交換位子。第一趟從第乙個位置開始,直到最後乙個位置,a n 1 確定最大 以公升序為例子 的數放在最後一位,a n 1 第二趟,繼續從第乙個位置開始,倒數第二位,a n 2 確定倒數第二大的數在倒數第二位a n 2 演算...

氣泡排序法

從小到大排序 int myarray new int 取長度最長的片語 冒泡法 for int j 1 jfor int i 0 i 如果 myarray i myarray i 1 則 myarray i 上浮一位 if myarray i myarray i 1 從大到小排序 int myarr...