首页 > 编程语言 > 详细

插入排序

时间:2021-07-11 21:55:21      阅读:31      评论:0      收藏:0      [点我收藏+]

算法流程(从小到大排):

1.首先将第一个数看成一个有序序列,第二到最后一个数看成无序序列;

2.从无序序列中抽到一张手牌,并将其与有序序列比较;

3.将手牌插入到有序序列的合适位置

4.重复2,3步骤

1 def insert_sort(arr):
2     for i in range(len(arr)):
3         current = arr[i]  #抽到的
4         sorted_index = i - 1
5         while sorted_index >= 0 and current < arr[sorted_index]:
6             arr[sorted_index+1] = arr[sorted_index] #已排序的序列往后移才有插入的空间
7             sorted_index -= 1
8         arr[sorted_index+1] = current

时间复杂度O(n2)

插入排序

原文:https://www.cnblogs.com/dzwclimber/p/14999008.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!