冒泡排序
时间复杂度是:O(n²)
外循环是:n,内循环是:½n
#!/usr/bin/env python
# encoding: utf-8
"""
@author: 九九的金金子
@file: bubble_sort.py
@time: 2021/6/9 16:08
"""
def bubble_sort(li):
n = len(li)
for i in range(n):
# 外循环,i的值[0,len(li)],列表有多少个数就要循环多少遍
for j in range(0, n - 1 - i):
# 内循环,列表的数两两比较。
# 一个外循环,会确定一个最大的数排在最后面。
# 确定最大的数,不再参与比较。
if li[j] > li[j + 1]:
li[j], li[j + 1] = li[j + 1], li[j]
return li
print(bubble_sort([9, 6, 3, 2, 5, 8, 7, 4, 1]))
运行结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
DEBUG模式下得代码: