标签:方法 有序 .com range 估计 for 假设 import 选择排序
‘‘‘
插入排序:假设元素左侧全部有序,找到自己的位置插入
‘‘‘
import random
import cProfile
def insert_sort(nums):
for i in range(1,len(nums)):
for j in range(i,0,-1):
if nums[j-1] > nums[j]:
nums[j-1],nums[j] = nums[j],nums[j-1]
return nums
nums = [random.randint(0, 10000) for i in range(10000)]
print(insert_sort(nums))
cProfile.run(‘insert_sort(nums)‘)
运行结果
排序:略
运行时间:5.247秒(不太真实,按道理插入排序应该跟选择排序运行时间差不多,可能实现方法有问题,暂时命名为插入排序(假))

插入排序2.0
def insert_sort(nums):
for i in range(1,len(nums)):
for j in range(i,0,-1):
if nums[j-1] <= nums[j]:
break
elif nums[j-1] > nums[j]:
nums[j-1],nums[j] = nums[j],nums[j-1]
return nums
疑惑:只是加了个break,cprofile.run()测的运行时间就不正常了
运行时间:0.05.但是自己实际感觉还是有4秒左右,估计是我cprofile没学好,学好再来改

标签:方法 有序 .com range 估计 for 假设 import 选择排序
原文地址:https://www.cnblogs.com/shuimohei/p/10381395.html