您当前的位置: 首页 >  Python

Python编程:排序算法之插入排序

彭世瑜 发布时间:2018-06-11 23:26:49 ,浏览量:3

插入排序 列表被分为有序区和无序区两个部分,最初有序区只有一个元素 每次从无序区选择一个元素,插入到有序区的位置,直到无需去变空

代码实现
# -*- coding: utf-8 -*-

# @File    : insert_sort_demo.py
# @Date    : 2018-06-11


import random

# 插入排序 O(n^2)
def insert_sort(lst):
    count = 0
    for i in range(1, len(lst)):
        tmp = lst[i]
        j = i - 1
        while j >=0 and tmp < lst[j]:
            lst[j+1] = lst[j]
            j -= 1
            count += 1
        lst[j+1] = tmp
    print("count: %s"% count)

lst = list(range(10))
random.shuffle(lst)
insert_sort(lst)
print(lst)
# count: 20
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
关注
打赏
1688896170
查看更多评论

彭世瑜

暂无认证

  • 3浏览

    0关注

    2727博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0454s