插入排序思路

插入排序算法:

import random         # 随机模块
import time def cal_time(func): # 装饰器 ,用来检测算法所执行的时间
def wrapper(*args,**kwargs):
t1=time.time()
result=func(*args,**kwargs)
t2=time.time()
print("%s running time: %s secs." %(func.__name__,t2-t1))
return result
return wrapper @cal_time
def insert_sort(li):
for i in range(1,len(li)):
temp=li[i]
j=i-1
while j>=0 and li[j]> temp: # j >=0 或者 找到比它小的元素
li[j+1]=li[j] # 往右移
j=j-1
li[j+1]=temp # 将最小值放到前面
data = list(range(1000))
random.shuffle(data)
insert_sort(data)
print(data)

显示的效果为:

```````````

最新文章

  1. iOS开发 引用第三方库出现duplicate symbol时的处理方法
  2. [No0000AB]用Visual Studio 2015在 WIN10 64bit 上编译7-zip (32 bit)
  3. WPS for Linux(ubuntu)字体配置(字体缺失解决办法)
  4. android的一些关键词
  5. MySQL 5.7原生JSON格式支持
  6. 学习和理解C#的委托
  7. BZOJ 3479: [Usaco2014 Mar]Watering the Fields( MST )
  8. 更改firefox默认搜索引擎
  9. DTD验证XML文档
  10. Oracle-orclEXORIM
  11. C#基础知识-数据类型(一)
  12. 记一次<iframe>的使用
  13. C# 8中的范围类型(Range Type)
  14. yuan 老师 之 Django
  15. 启动多个logstash脚本
  16. SQLSetStmtAttr
  17. Django - 用户认证、用户组、用户权限
  18. 更改 pandas dataframe 中两列的位置
  19. bzoj 2212 Tree Rotations
  20. Tutorial 7: Schemas & client libraries

热门文章

  1. C# 7.0 本地方法
  2. HDU4822-Tri-War
  3. git commad
  4. BZOJ3613 HEOI2014南园满地堆轻絮
  5. [codeforces743E]Vladik and cards
  6. Linux(三)高级文本处理命令
  7. Linux系统之路——如何在CentOS7.2安装R和RStudio(Server)
  8. select、poll和epoll多路I/O复用
  9. Android Studio获取调试版SHA1和发布版SHA1的方法
  10. OpenCV---色彩空间(二)HSV追踪颜色对象和通道分离与合并