插入排序思路
插入排序算法:
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)
显示的效果为:
```````````