
【LeetCode】快速排序(python版)
发布日期:2021-05-08 05:47:51
浏览次数:20
分类:精选文章
本文共 1596 字,大约阅读时间需要 5 分钟。
快速排序:
以列表中的任意一个数为基准(一般选取第一个数),将列表分为左右(前后)两个子列表,左边子列表的数要比基数小,右边的子列表要比基数大,然后继续把左边子列表和右边子列表按同样的方法继续分解、比较,一直分到分无可分位置,然后按照左边子列表比基数小+基数+右边子列表(比基数大)的方式连接起来,最后得到一个有序的数列import randomimport timeitdef randomList(n): iList = [] for i in range(n): iList.append(random.randrange(0,1000)) return iListdef bubblesort(iList): if (len(iList)<=1): return iList for i in range(1,len(iList)): for j in range(0,len(iList)-i): if(iList[j]>iList[j+1]): iList[j],iList[j+1] = iList[j+1],iList[j] return iListdef selectsort(iList): if(len(iList)<=1): return iList for i in range(0,len(iList)-1): if iList[i] != min(iList[i:]): minIndex = iList.index(min(iList[i:])) iList[i],iList[minIndex] = iList[minIndex],iList[i] return iListdef insetionsort(iList): if(len(iList)<=1): return iList for right in range(1,len(iList)): target = iList[right] for left in range(0,right): if target<=iList[left]: iList[left+1:right+1] = iList[left:right] iList[left] = target; break return iListdef quicksort(iList): if(len(iList)<=1): return iList left = [] right = [] for i in iList[1:]: if i<=iList[0]: left.append(i) else : right.append(i) return quicksort(left)+[iList[0]]+quicksort(right)if __name__ == "__main__": iList = randomList(20) print(iList) print(quicksort(iList)) #print(timeit.timeit("selectsort(iList)","from _main_ import selectsort,iList",number=100))
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月15日 06时32分37秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
QBlog V2.5 源码开放下载(ASP.NET 番外系列之开端)
2021-05-09
秋色园引发CPU百分百命案的事件分析与总结
2021-05-09
安装jdk并配置环境变量
2021-05-09
稀疏数组
2021-05-09
js的严格模式
2021-05-09
idea的安装和无限期试用
2021-05-09
Oracle VM VirtualBox安装PVE虚拟机
2021-05-09
【转】如何用css限制文字长度,使溢出的内容用省略号…显示
2021-05-09
Android MediaPlayer setDataSource failed
2021-05-09
ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路
2021-05-09
【nodejs原理&源码杂记(8)】Timer模块与基于二叉堆的定时器
2021-05-09
如何查看jsplumb.js的API文档(YUIdoc的基本使用)
2021-05-09
大前端的自动化工厂(1)——Yeoman
2021-05-09
数据仓库建模方法论
2021-05-09
数据仓库之拉链表
2021-05-09
虚拟机搭建hadoop环境
2021-05-09
DataStax Bulk Loader教程(四)
2021-05-09
物联网、5G世界与大数据管理
2021-05-09
Cassandra与Kubernetes
2021-05-09