3.插入排序

1.介绍:插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。

2.思想:插入排序(InsertionSorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。

3.动图来源:https://www.toutiao.com/a6593273307280179715/?iid=6593273307280179715&wid=1621761486436

插入排序

4.代码实现

import random
import time
def sorted(sortlist):
    for i in range(len(sortlist)-1):        #curIndex表示操作的书即把哪个数插入到列表里面去
        curIndex = i + 1
        curValue = sortlist[curIndex]       #记录这个值后面就不会找不到
        while (curIndex > 0 and curValue < sortlist[curIndex-1]):       
                                        #curIndex > 0保证不越界,curValue < sortlist[curIndex-1]则是判断往哪个位置插入
            curIndex = curIndex - 1
            sortlist[curIndex+1] = sortlist[curIndex]
        sortlist[curIndex] = curValue
        # print(sortlist)

l = []
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
for i in range(80000):
    l.append(int(random.random()*100000000))
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
sorted(l)
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容