# 冒泡排序 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)) 输出结果
实现冒泡排序的原理:
重复地遍历要排序的列表,一次比较两个元素,通过多次遍历列表并交换元素的位置,最大(或最小)的元素会逐渐“浮”到列表的顶端(或底端),从而实现排序。