(python冒泡排序练习)
冒泡排序初战
首先,要先理解什么是冒泡函数(个人觉得这就相当于了解需求)。
冒泡排序是一种交换排序。
所谓交换排序就是,两两比较待排序的关键字,并交换不满足次序要求的那对数,直到整个表都满足次序要求为止。
文字表述不太直观,那么我们用一个简易的流程图来整理一下思路:
那么,在直观的理解了冒泡排序后,我们可以从上得出冒泡排序流程:
假设有一个无序序列 { 1, 3, 5, 0 } ,从大到小排序
第一趟排序:通过两两比较,找到第一小的数值 0 ,将其放在序列的第最后位。
接下来只需要进行前3位数的排序,后面以此类推;
以上图为例,演示一下冒泡排序的实际流程:
第二趟排序:通过两两比较,找到第二小的数值 1 ,将其放在序列的倒数第二位。
第三趟排序:通过两两比较,找到第三小的数值 3 ,将其放在序列的倒数第三位。
至此,所有元素已经有序,排序结束
冒泡函数每次排序可确定一个数的位置,那么对n个数进行排序,其实只需要重复n-1次操作就可以了。
现在逻辑理清楚了,针对逻辑想到要用到 for 循环的嵌套 , 以及条件判断。那么冒泡排序的大体框架已经可以搭建出来了。