
【LeetCode】插入排序(python版)
发布日期:2021-05-08 05:47:51
浏览次数:19
分类:精选文章
本文共 1275 字,大约阅读时间需要 4 分钟。
插入排序相当于将列表数据分成左右两边,就相当于扑克牌发牌时,左拿第一张牌,右手摸牌,将右手的牌当作目标牌,与左手中的牌进行对比,使得左手中的牌从左至由,由小到大排序。即将最小的牌放在最左边

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 iListif __name__ == "__main__": iList = randomList(20) print(iList) print(insetionsort(iList)) #print(timeit.timeit("selectsort(iList)","from _main_ import selectsort,iList",number=100))
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月07日 05时34分58秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
nodeJS实现识别验证码(tesseract-ocr+GraphicsMagick)
2021-05-09
玩玩小爬虫——试搭小架构
2021-05-09
AS与.net的交互——加载web上的xml
2021-05-09
Javascript之旅——第八站:说说instanceof踩了一个坑
2021-05-09
Javascript之旅——第九站:吐槽function
2021-05-09
Javascript之旅——第十一站:原型也不好理解?
2021-05-09
Sql Server之旅——第十站 看看DML操作对索引的影响
2021-05-09
十五天精通WCF——第二天 告别烦恼的config配置
2021-05-09
双十一来了,别让你的mongodb宕机了
2021-05-09
asp.net mvc 之旅 —— 第六站 ActionFilter的应用及源码分析
2021-05-09
Tomcat 热部署
2021-05-09
深入解析 HTTP 缓存控制
2021-05-09
深入浅出访问者模式
2021-05-09
深入探索Android热修复技术原理读书笔记 —— 热修复技术介绍
2021-05-09
百度前端技术学院task16源代码
2021-05-09
解析js中( ( ) { } ( ) )的含义
2021-05-09
js设计模式总结5
2021-05-09
Python大神编程常用4大工具,你用过几个?
2021-05-09
一文带你了解图神经网络
2021-05-09
9个常用ES6特性归纳(一般用这些就够了)
2021-05-09