原版
两个循环嵌套,外循环n-1次,内循环n-1次,每次找到大小顺序不对的就交换两个数的位置。
代码
代码语言:javascript复制def bubble(number,n):
for i in range(0,n-1):
for j in range(0,n-1):
if number[j]>number[j 1]:
number[j],number[j 1]=number[j 1],number[j]
number=[1,3,6,8,2,5,4,9,0,7]
bubble(number,10)
print(number)
升级版
也许并不需要循环这么多次就已经排序好了,所以我们在发现有一轮循环中没有发生交换就跳出循环。
代码
代码语言:javascript复制def bubble(number,n):
for i in range(0,n-1):
tag=0
for j in range(0,n-1):
if number[j]>number[j 1]:
number[j],number[j 1]=number[j 1],number[j]
tag=1
if tag==0:
break
number=[1,3,6,8,2,5,4,9,0,7]
bubble(number,10)
print(number)
冒泡排序超进化版本——快速排序
https://blog.csdn.net/weixin_62264287/article/details/123028838?spm=1001.2014.3001.5502
https://blog.csdn.net/weixin_62264287/article/details/123028838?spm=1001.2014.3001.5502