(1)比較陣列中兩個相鄰的元素。如果第乙個比第二個大,則交換。
(2)對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對,例如:第乙個樹和第二個樹比較,第乙個數大於第二個則交換,然後第二個和第三個比較,第二個大則交換…… 最終 將最大數移至最後。
(3)重複以上步驟,完成n-1次
(1)最好情況:序列是公升序排列,在這種情況下,需要進行的比較操作為(n-1)次。交換操作為0次。即o(n)
(2) 最壞情況:序列是降序排列,那麼此時需要進行的比較共有n(n-1)/2次。交換運算元和比較運算元一樣。即o(n^2)
(3)漸進時間複雜度(平均時間複雜度):o(n^2)
1執行結果:namespace
bubblesortprogram2;
9 console.writeline("
-------------排序前--------------");
10for (int i = 0; i < arry.length; i++)
1114
bubblesort(arry);
15 console.writeline("
\n-------------排序後--------------");
16for (int i = 0; i < arry.length; i++)
1720
console.readkey();21}
2223
///24
///氣泡排序
25///
26///
27public
static
void bubblesort(int
arry)
2841}42
}43}44
}45 }
排序演算法之氣泡排序
參考 氣泡排序演算法的運作如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。若...
排序演算法之氣泡排序
對於大多數學計算機的人來說,氣泡排序應該都是接觸的第一種排序方式,氣泡排序的排序思想是比較簡單的,它的演算法的是 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了...
排序演算法之氣泡排序
氣泡排序 bubble sort 是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢 浮 到數列的頂端,...