Bubble Sort-冒泡排序
Bubble Sort - 冒泡算法
持续比较相邻的元素,大的上升,小的下沉,冒泡
Implementation
python
def bubbleSort(alist):
print(alist)
for i in range(len(alist)):
for j in range(len(alist)):
if alist[j - 1] > alist[j]:
alist[j - 1], alist[j] = alist[j], alist[j - 1]
return alist
C#
public int[] BubbleSort(int[] array) {
for (int i = 0; i < array.Length; i++) {
Console.WriteLine(string.Join(",", array));
for (int j = 1; j < array.Length - i; j++) {
if (array[j - 1] > array[i]) {
var temp = array[j - 1];
array[j - 1] = array[j];
array[j] = temp;
}
}
}
return array;
}
算法复杂度
平均情况与最坏情况均为 \(O(n^2)\), 使用了 temp 作为临时交换变量,空间复杂度为 \(O(1)\).
- 上一篇 Linked List-链表
- 下一篇 Selection Sort-选择排序