冒泡排序:顾名思义就是像气泡从水里浮出来一样
把列表立起来如上图所示,从列表的第0项开始循环(把最大的数想成此次循环的气泡)
要把最大的放到上面那那就用第0项开始一次和剩下的开始比较,只要比第0项小就把他们两个的位置互换一次类推,循环一圈下来7就到了他应该处在的位置上.
def bubble_sort(li): for i in range(len(li)-1): # i表示第n趟 一共n或者n-1趟 exchange = False for j in range(len(li)-i-1): # 第i趟 无序区[0, n-i-1] j表示箭头 0~n-i-2 if li[j] > li[j+1]: li[j], li[j+1] = li[j+1], li[j] exchange = True if not exchange: break
循环结束后,列表就排好序了,但是有点复杂,要循环N*N次
最好情况:O(N)
平均情况:O(N^2)
最坏情况:O(N^2)