前言:
当前姐妹们对“python冒泡算法对列表排序”大约比较讲究,大家都需要学习一些“python冒泡算法对列表排序”的相关内容。那么小编同时在网上收集了一些对于“python冒泡算法对列表排序””的相关文章,希望姐妹们能喜欢,我们一起来学习一下吧!本实战技能将使用冒泡排序,实现数据从小到大的排序。运行程序得到的结果如下图所示。
冒泡排序结果展示图
【技术要点】
本实战技能重点在于冒泡排序,要实现本案例,需要掌握冒泡排序的基本原理。
冒泡排序是一种较简单的排序算法,它会遍历若干次要排序的数列,每次遍历时,都会从前往后依次比较相邻两个数的大小,如果前者比后者大,则交换它们的位置。一次遍历之后,最大的数就在数列的末尾。除了最后一个数外,采用相同的方法对其他数再次遍历时,第二大的数就被排列在最大的数之前。重复以上步骤,直到整个数列没有任何一对数字需要比较为止。冒泡排序图解如下图所示。
冒泡排序图解
【主体设计】
冒泡排序算法流程如下图所示。
冒泡排序算法流程图
实现步骤如下。
Step1:输入需要排序的数组。
Step2:得到需排序的数据个数。
Step3:运用for循环,从前往后遍历。判断相邻两个数的大小,如果前者比后者大,则交换两 个数的位置。
Step4:输出最终的排序,结束程序。
【编程实现】
本实战技能使用PyCharm进行编写,建立相关的源文件【冒泡排序.py】,在界面输入代码。参考下面的详细步骤,编写具体代码,具体步骤及代码如下所示。
Step1:先输入需要排序的数组,使用len( )函数获得序列的长度,输出排序前的序列,代码如下所示。
1. List=[1, 5, 3, 6, 9, 7, 2]
2. n = len(List)
3. print(" 冒泡排序案例 ")
4. print(" 排序前:", List)
Step2:使用for循环,实现冒泡排序。当前一个数大于后一个数,则交换两个数的位置,输出排序后的序列,代码如下所示。
1. for i in range(n - 1):
2. for j in range(n - 1):
3. for j in range(n - i - 1):
4. if List[j] > List[j + 1]:
5. temp = List[j]
6. List[j] = List[j + 1]
7. List[j + 1] = temp
8. print(" 排序后 :", List)