排序 氣泡排序

2022-07-13 18:45:13 字數 755 閱讀 7506

就是把乙個無序陣列內的元素,從頭開始,兩兩比較並交換位置,直到把最大(最小)的一位放置在隊尾

public

class

arrsort ;

int temp=0;

for (int j=0;j)

}system.out.println("第"+j+"次排序");

system.out.println(arrays.tostring(arr));}}

}

按照上述的**,每次排序都要進行arr.length-1輪,但是有可能前面幾輪就已經達到排序好的效果,後面做的就是無用功

如圖第二輪已經達到排序完成的效果,怎麼優化?

加乙個判定條件,如果沒有發生元素的交換,就說明已經排序完成了

public

class

arrsort ;

int temp=0;

//設定乙個開關

boolean flag=false

;

for (int j=0;j)

}if (flag)else}}

}

由上述**可發現,氣泡排序是用了雙層for迴圈,所以o(n^2)

氣泡排序 排序 氣泡排序

既然寫了計組思來想去便打算把資料結構也寫下來,寫的時候總是發現看的時候無法發現的問題,受益良多。交換排序的基本思想 exchange until sorted 順序,分支,迴圈 注意偽 的熟悉 下面介紹兩種交換演算法 首先進行聯想,用乙個圖進行輔助聯想 水冒泡過程 頂部是陣列的begin,底部理解為...

氣泡排序 氣泡排序法

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

排序 氣泡排序

氣泡排序 氣泡排序 bubble sort 是一種 電腦科學 領域的較簡單的 排序演算法 它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。原理是臨近的數字兩兩進行比較,按照從小到大或者從大到小...