# 冒泡排序
def MaoPao(num):
for i in range(len(num) - 1): # 循环次数为整体的数的个数减1
f = 0 # 当前的次数
for j in range(len(num) - 1 - i): # 最后的元素不需要在进行比较
if num[j] > num[j + 1]: # j > j+1
t = num[j + 1] # t = j+1
num[j + 1] = num[j] # j+1的位置重新等于j
num[j] = t # j重新等于t
f = 1 # 当前次数为1
if f == 0: # 当每一趟的次数等于0时
break
return num
if __name__ == '__main__':
num = [4, 5, 8, 4, 6, 8, 5, 1, 6, 32, 7]
print(MaoPao(num))
输出结果[1,4,4,5,5,6,6,7,8,8,32]
实现冒泡排序的原理:
重复地遍历要排序的列表,一次比较两个元素,通过多次遍历列表并交换元素的位置,最大(或最小)的元素会逐渐“浮”到列表的顶端(或底端),从而实现排序。