插入排序

倾然丶 夕夏残阳落幕 提交于 2019-12-04 17:26:43

插入排序:

5 4 3 21:1位置开始比较,和他前面所有的数字进行比较4 5 3 22:2位置开始比较,和他前面所有的数字进行比较4 3 5 23 4 5 23:3位置开始比较,和他前面所有的数字进行比较3 4 5 23 4 2 53 2 4 52 3 4 5排好序了。依次把1坐标以后的所有元素,分别与它前面的元素进行比较如果发生了小于的情况就插入。原理:每次有一个数,它的前面都是排好序的,然后它要插入到排好的序列中,插入排序
def insert(nums):
    #从index=1开始比较相邻的两个元素
    for i in range(1,len(nums)):
        #所有i坐标的元素都跟index=i前面的元素相比较,小于则交换元素
        for j in range(i,0,-1):
            if nums[j-1] < nums[j]:
                nums[j],nums[j-1] = nums[j-1],nums[j]
    return nums

print(insert([4,2,5,1]))

 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!