比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。
根据时间复杂度的计算原则,冒泡排序为:O(n^2 )。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| public static void BubbleSort(List<int> list) { var temp = 0; for (var j = list.Count; j > 0; j--) { for (int i = 0; i < j - 1; i++) { if (list[i] > list[i + 1]) { temp = list[i + 1]; list[i + 1] = list[i]; list[i] = temp; } } } }
public static void BulleSort1(List<int> list) { var temp = 0; for (var j = 0; j < list.Count; j++) { for (int i = 0; i < list.Count - j - 1; i++) { if (list[i] > list[i + 1]) { temp = list[i + 1]; list[i + 1] = list[i]; list[i] = temp; } } } }
private static void PrintList(List<int> list) { foreach (var item in list) { Console.Write(string.Format("{0} ", item)); } Console.WriteLine(); }
|