python实现各种排序,python元素升序和降序排序
概念
1.快速排序法,也称为拆分交换法,是冒泡排序法的改进。
基本思想
2.在数据中找一个虚拟的中间值,然后把所有计划排序的数据分成两部分。在这些数据中,小于中间值的数据放在左边,大于中间值的数据放在右边,然后左右数据同样处理,直到排序完成。
实例
Defquick(data,start,end):#定义了快速排序功能
Startend: #如果起始值大于结束值
回车#直接退出程序
I,j=开始,结束
结果=data[start]#采用虚拟中间值
WhileTrue:#循环
whijiandata[J]=result 3360 #从右向左看。如果找到的数字小于虚拟中值,则停止循环。
J=j-1#从右向左看,每次位置都是-1。
Leijanddata [I]=result3360 #从左向右看。如果找到的数字大于虚拟中值,则停止循环。
I=1#从左向右看,每次位置都是1。
Ifi: # I和J都停下来,找到对应的位置,判断ij
Data [i],data [j]=data [j],data [i] #交换位置I和j对应的值。
Elifi=j3360 #判断i=j
#把虚中间值和J位置的数交换,虚中间值就变成实中间值了。
数据[开始],数据[j]=数据[j],数据[开始]
Break#完成第一次排序,然后用中间值分左右两边。
Quick(data,start,i-1)#调用快速排序函数,然后对左半部分数据进行快速排序。
Quick(data,i 1,end)#调用快速排序函数,然后快速排序右半部分数据。
Data=[6,1,2,7,9,3,4,5,10,8]#定义列表并初始化它
打印(原始数据为:)
打印(数据)#输出原始数据
打印(-)
Quick(data,0,(len(data)-1))#调用quick sort,数据从位置0开始,到数据长度-1结束。
打印(排序的数据是:)
打印(数据)#输出排序后的数据
打印(-)。以上是python实现元素增量的快速排序方法。希望对你有帮助。更多python学习方向:Python基础课程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。