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

插入排序

时间:2019-11-17 10:54:13      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:有一个   情况   div   交换   span   code   比较   原理   dex   

插入排序:


5 4 3 2

1:1位置开始比较,和他前面所有的数字进行比较
4 5 3 2

2:2位置开始比较,和他前面所有的数字进行比较
4 3 5 2
3 4 5 2

3:3位置开始比较,和他前面所有的数字进行比较
3 4 5 2
3 4 2 5
3 2 4 5
2 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]))

 



插入排序

标签:有一个   情况   div   交换   span   code   比较   原理   dex   

原文地址:https://www.cnblogs.com/ff-gaofeng/p/11875395.html

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