nums = [132344, 4235, 52334, 6374, 723]
count = len(nums) #len 长度
for i in range(0, count-1): #range 范围
for j in range(0, count-i-1):# 这个循环负责设置冒泡排序进行的次数
if nums[j] > nums[j+1]: #前面一位比后面大,就执行下一步交换
nums[j], nums[j+1] = nums[j+1], nums[j] #前后交换
print(nums)
# """
# 外循环第一次
# i = 0
# 进入第一次内循环
# j = 0
# """
冒泡排序算法的运作如下:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
一句话概括:相邻元素比较,大的放在后面
冒泡排序原理: 每一趟只能将一个数归位, 如果有n个数进行排序,只需将n-1个数归位,
也就是说要进行n-1趟操作(已经归位的数不用再比较,因为已经是最大)。
打印
第一轮,把最大的数放到最后一位;
第二轮,把第二大的数放到倒数第二位;
第三轮,把第三大的数放到倒数第三位;
第四轮,把第四大的数放到倒数第四位