码迷,mamicode.com
首页 > 编程语言 > 详细

插入排序

时间:2017-03-08 19:31:57      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:分享   rand   strong   元素   复杂度   log   list   列表   insert   

插入排序

插入排序思路:

  列表被分为有序区和无序区两个部分。最初有序区只有一个元素。

  每次从无序区选择一个元素,插入到有序区的位置,直到无序区变空。

技术分享

时间复杂度:

  O(n2)

def insert_sort(li):
    """
    插入排序法
    :param li:无序列表
    :return:None
    """
    for i in range(1, len(li)):
        tmp = i
        j = i - 1
        while j >= 0 and li[j] > tmp:
            li[j + 1] = li[i]
            j -= 1
        li[j+1] = tmp


li = list(range(1000))
random.shuffle(li)
insert_sort(li)
print(li)

插入排序

标签:分享   rand   strong   元素   复杂度   log   list   列表   insert   

原文地址:http://www.cnblogs.com/yxy-linux/p/6520758.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!