数据结构---冒泡排序
从头到尾,相邻两个不停的比较,不停的往后移动
叫冒泡,每走一步,小的往前冒。
代码实现:
# coding:utf-8
def bubble_sort(alist):
"""冒泡排序"""
n = len(alist)
for i in range(0, n - 1):
for j in range(0, n - i - 1):
if alist[j] > alist[j + 1]:
alist[j], alist[j + 1] = alist[j + 1], alist[j]
if __name__ == '__main__':
li = [54, 26, 93, 17, 77, 31, 44, 55, 20]
bubble_sort(li)
print(li)
结果:
[17, 20, 26, 31, 44, 54, 55, 77, 93]
最优时间复杂度:O(n)
最坏时间复杂度:O(n2)
稳定性:稳定