排序算法之冒泡排序
冒泡排序:最简单的排序算法
时间复杂度:
最优时间复杂度O(N),表示遍历一次没有发现任何可以交换的元素,排序结束
最差时间复杂度O(N2)
稳定性:稳定
Python代码:
#bubble_sort:冒泡排序
def bubble_sort(alist):
"""冒泡排序"""
n = len(alist)
for j in range(n-1):
count = 0 #记录内层循环是否进行交换,如果交换,那么加一
for i in range(n-1-j):
#内层循环:从头走到尾
if alist[i] > alist[i + 1]:
alist[i],alist[i + 1] = alist[i + 1],alist[i]
count += 1
if 0 == count:
break
"""
for j in range(n-1,0,-1):
for i in range(j):
"""
if __name__ == "__main__":
alist = [23,45,13,56,78,34,23]
print(alist)
bubble_sort(alist)
print(alist)输出结果:

相关推荐
hang0 2020-08-16
风吹夏天 2020-07-07
小海 2020-06-25
清溪算法君老号 2020-06-06
wonner 2020-06-03
清溪算法君老号 2020-06-01
rein0 2020-04-18
ustbfym 2019-12-17
wuxiaosi0 2019-12-10
Broadview 2019-11-19
ustbfym 2019-11-04
大数据分析BDA 2019-04-24
鱼天翱 2019-07-01
清溪算法 2019-12-24
RememberMePlease 2020-05-01
清溪算法君老号 2020-04-25
rein0 2020-04-21
qingsongzdq 2020-03-03