python排序之一插入排序

本文通过具体实例解释了插入排序的工作原理及实现过程。插入排序是一种简单的排序算法,通过将一个记录插入到已排序好的有序表中,从而得到一个新的、记录增1的有序表。

python排序之一插入排序

  首先什么是插入排序,个人理解就是拿队列中的一个元素与其之前的元素一一做比较交根据大小换位置的过程好了我们先来看看代码

首先就是一个无序的列表先打印它好让排序后有对比效果,然后我后面注释工作流程,下面我来一一说明下其运行流程,开始先声明一个插入排序的函数名insert_sort,要传入的参数为lis,count来获取列表lis长度len(lis),然后我们要开始写循环对比for i in range(从1到列表长度count)然后把列表下标为一位置的数也就是28(lis下标默认是从0开始然后才是1,2,3,...)j用来取i的前面一个位子i-1等于0,这用递减的方式来比对,j=0进入循环,判断lis[0]也就是85 大于 28,也就是前面的数只要比后面的数字大就交换位置,这里就lis[0+1]也就是lis[1]28 被lis[0]85给赋值了(可以简单理解为a=1,b=0 if a>b a,b=b,a等同于a=0,b=1),j: 0-1=-1循环结束,当然如果还是不清楚改变如下代码

 

 

 

首先你要注释#号代码,然后在循环结束打印出每次循环玩的结果就可以看得很清楚,这里可以清楚看到每一次循环完成都会改变前面几个数字的顺序(尤其注意看11的位置改变),其实也就是每次拿K去一次和前面的值比较,只要比K大位置就交换。在直接的就是与前面的数对比,只要它比你大就换位置。打个比方你买车,看了很多种,一去了解发现好多东西要配,货比三家的去问发现这第二家折扣大,你想买的欲望增加,就会把第一家想买的排在后面,优先第二家,结果第三家一站式服务全部跟你配齐,折扣也不错,这时候你心里会比较三家最想去的一家向前排,不好的就仍后面有个顺序1,2,3。

感谢收看,下次再见。

转载于:https://www.cnblogs.com/cookie1026/p/6115925.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值