4.5 [案例]三酷猫销售排序:冒泡排序
冒泡排序是对无序的一组数据的元素进行两两比较,把大的放后面,小的放前面,每比较一轮实现一个最大数放到相对最后的过程,有点类似池塘里冒泡的过程,最终实现从小到大排序的过程。
三酷猫水果店的5名员工各自的销售金额为[900,801.5,2000,1590.8,1200.7],其按照冒泡思路,排序过程如图4.1所示。

图4.1 冒泡排序
在图4.1中,第一轮把从左数的5个金额里最大的2000元排到了最后,第二轮把从左数的4个金额里最大的1590.8元排到了倒数第二的位置,第三轮开始没有数据交换位置,说明排序结束。
从图4.1所示冒泡排序过程,可以得出两个结论:第一,需要采用双重循环,外循环控制排序轮数,内循环控制每轮相邻两数比较过程;第二,当有一轮没有数据交换或比较到最后一轮(只需要比较最左边两个元素)时,则冒泡排序结束。(https://www.daowen.com)
根据上述冒泡排序思路,代码实现如下:
代码文件:4_5_BubbleSort.py

代码执行结果如下:
