冒泡排序——从小到大排序

li=[1,5,2,44,66,564,33,76,378]
def bubble_sort(li):
#获取列表的长度
n=len(li)
#遍历列表长度减1次
for i in range(1,n):
#创建一个变量,用来几率冒泡,是否有数据交换位置
status=False
#每次遍历获取第一个元素,依次和后面的元素进行比较
for j in range(n-i):
#判断当前元素和后一个元素的值
if li[j]>li[j+1]:
#交换当前元素和后一个元素的值
li[j],li[j+1]=li[j+1],li[j]
#只有有数据交换位置,则修改status的值
status=True
#每一轮冒泡结束之后,判断当前status是否为False,如果为False,则说明上一轮冒泡没有任何数据的顺序(即数据是有序的)
if not status:
return li
return li

res=bubble_sort(li)
print(res)
posted @ 2019-11-18 14:29  正在坚持的小松鼠  阅读(1711)  评论(0编辑  收藏  举报