1.递归实现冒泡排序
list = [1,5,2,3,6,8,5,4,7,88,77,55,99,88,55]
def bub_list(s_list):
#代表无数据交换
flag = 0
for i in range(len(s_list) - 1):
if s_list[i] > s_list[i+1]:
flag = 1
s_list[i],s_list[i+1] = s_list[i+1],s_list[i]
#判断flag的值如果等于1 具有表示交换的值 就要调用bub_list
if flag == 1:
bub_list(s_list)
else:
s_list
# bub_list(list)
#
# print(list)
2.非递归实现冒泡排序
#非递归实现冒泡排序
def bus_list(s_list):
for i in range(len(s_list)):
flag = 1
for j in range(len(s_list) -1-i):#代表内循环次数
if s_list[j] > s_list[j+1]:
#开始交换
s_list[j],s_list[j+1] = s_list[j+1],s_list[j]
flag = 0
if flag:#如果已经有 则跳出循环
break
return s_list
#
# bus_list(list)
#
# print(list)