氣泡排序(Bubble Sort)
氣泡排序演算法的運作如下:
1.比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3.針對所有的元素重複以上的步驟,除了最後一個。
4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
平均時間複雜度 |
---|
/// <summary> /// 氣泡排序 /// </summary> /// <param name="arr"></param> /// <param name="count"></param> public static void BubbleSort(int[] arr, int count) { int i = count, j; int temp; while (i > 0) { for (j = 0; j < i - 1; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } i--; } } //使用例子 int[] y = new int[] { 1, 32, 7, 2, 4, 6, 10, 8, 11, 12, 3, 9, 13, 5 }; BubbleSort(y, y.Length ); foreach (var item in y) { Console.Write(item+" "); } //1 2 3 4 5 6 7 8 9 10 11 12 13 32