冒泡排序
2021-02-19 12:18
标签:def list ali sort 交换 比较 i+1 else 冒泡排序 冒泡思路 冒泡排序 标签:def list ali sort 交换 比较 i+1 else 冒泡排序 原文地址:https://www.cnblogs.com/zzsy/p/12684828.html冒泡排序
def pao(alist):
x = 1
while x alist[i+1]:
alist[i],alist[i+1] = alist[i+1],alist[i]
x = x+1
return alist
#1.将乱序序列中的最大值找出,逐一移动到序列最后的位置
alist = [3,8,5,7,6]
def sort(alist):
#找最大值的方式是通过对列表中的元素进行两两比较,值大的元素逐步向后移动
#序列中有n个元素,两两比较的话,需要比较n-1次
for i in range(len(alist)-1): #循环n-1次,控制两两比较的次数
if alist[i] > alist[i+1]:#如果前面的元素大于后面的元素,交换两个元素的位置
alist[i],alist[i+1] = alist[i+1],alist[i]
else:#如果后面的元素大于前面的元素,则不作任何操作
pass
return alist
print(sort(alist))
[3, 5, 7, 6, 8]
#2.将步骤一的操作继续作用n-1次
alist = [3,8,5,7,6]
def sort(alist):
for j in range(len(alist)-1):#外层循环次数递增,内层循环次数递减
for i in range(len(alist)-1-j): #循环n-1次,控制两两比较的次数
if alist[i] > alist[i+1]:#如果前面的元素大于后面的元素,交换两个元素的位置
alist[i],alist[i+1] = alist[i+1],alist[i]
else:#如果后面的元素大于前面的元素,则不作任何操作
pass
return alist
print(sort(alist))