簡單實用演算法 氣泡排序

2022-01-12 01:47:02 字數 552 閱讀 1246

變數定義:

注:氣泡排序如果能在內部迴圈第一次執行時,使用乙個bool值來表示有無需要交換的可能,也有可能把最好的複雜度降低到o(n)。在這個情況,在已經排序好的數列就無交換的需要。

演算法**(c#):

//氣泡排序

public void bubblesort(intnums)

}if (!exchange) //本趟排序未發生交換,提前終止演算法

}}

演算法實現:

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

針對所有的元素重複以上的步驟,除了最後乙個。

持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

最差時間複雜度 o(n²)

最優時間複雜度 o(n)

平均時間複雜度 o(n²)

簡單實用演算法 氣泡排序

變數定義 注 氣泡排序如果能在內部迴圈第一次執行時,使用乙個bool值來表示有無需要交換的可能,也有可能把最好的複雜度降低到o n 在這個情況,在已經排序好的數列就無交換的需要。演算法 c 氣泡排序 public void bubblesort intnums if exchange 本趟排序未發生...

排序演算法之簡單氣泡排序

我用的開發環境是vs2012,用的是c 語言,經過驗證,沒有問題,下面是 include using namespace std void buddle sort int array,int len int main 陣列長度 int len sizeof array sizeof int 呼叫排序...

簡單的氣泡排序演算法

description 實現乙個簡單的氣泡排序演算法 所謂的氣泡排序就是指集合中的元素兩兩比較,如果前面的比後面的大就交換彼此的位置,交換後繼續比較 auther eleven create 2020 04 04 20 24 public class bubblesort bubblesort bu...