Python排序搜索基本算法之插入排序实例分析


Posted in Python onDecember 11, 2017

本文实例讲述了Python排序搜索基本算法之插入排序。分享给大家供大家参考,具体如下:

插入排序生活中非常常见,打扑克的时候人的本能就在用插入排序:把抽到的一张插入到手上牌的正确位置上。有两种插入排序方法,一种基于比较,另一种基于交换。代码如下:

1.基于比较的插入排序:

# coding:utf-8
def insertionSort(seq):
  length=len(seq)
  for i in range(1,length):
    tmp=seq[i]
    for j in range(i,0,-1):
      if seq[j-1]>tmp:
        seq[j]=seq[j-1]
      else:
        j+=1
        break
    seq[j-1]=tmp
if __name__=='__main__':
  print("三水点靠木测试结果:")
  seq=[8,6,4,9,7,3,2,-4,0,-100,99]
  insertionSort(seq)
  print(seq)

运行结果:

Python排序搜索基本算法之插入排序实例分析

2.基于交换的插入排序:

# coding:utf-8
def insertionSort2(seq):
  length=len(seq)
  for i in range(1,length):
    for j in range(i,0,-1):
      if seq[j]<seq[j-1]:
        seq[j],seq[j-1]=seq[j-1],seq[j]
      else:
        break
if __name__=='__main__':
  print("三水点靠木测试结果:")
  seq=[3,5,9,8,4,2,1,0,-6,12,-8]
  insertionSort2(seq)
  print(seq)

运行结果:

Python排序搜索基本算法之插入排序实例分析

Python 相关文章推荐
使用python实现拉钩网上的FizzBuzzWhizz问题示例
May 05 Python
Python解释执行原理分析
Aug 22 Python
更改Python的pip install 默认安装依赖路径方法详解
Oct 27 Python
mac PyCharm添加Python解释器及添加package路径的方法
Oct 29 Python
python调用外部程序的实操步骤
Mar 04 Python
python使用Plotly绘图工具绘制柱状图
Apr 01 Python
Python爬虫 批量爬取下载抖音视频代码实例
Aug 16 Python
python基于TCP实现的文件下载器功能案例
Dec 10 Python
python批量处理txt文件的实例代码
Jan 13 Python
Python语法垃圾回收机制原理解析
Mar 25 Python
对Keras中predict()方法和predict_classes()方法的区别说明
Jun 09 Python
python实现计算器简易版
Dec 17 Python
python实现二叉树的遍历
Dec 11 #Python
django上传图片并生成缩略图方法示例
Dec 11 #Python
使用Python的package机制如何简化utils包设计详解
Dec 11 #Python
python timestamp和datetime之间转换详解
Dec 11 #Python
Python时间戳使用和相互转换详解
Dec 11 #Python
python的exec、eval使用分析
Dec 11 #Python
Python中eval带来的潜在风险代码分析
Dec 11 #Python
You might like
PHP入门经历和学习过程分享
2014/04/11 PHP
codeigniter中测试通过的分页类示例
2014/04/17 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
PHP自毁程序(慎用)
2015/07/09 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
JavaScript prototype属性使用说明
2010/05/13 Javascript
jquery eval解析JSON中的注意点介绍
2013/08/23 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
javascript设计模式之中介者模式Mediator
2014/12/30 Javascript
Nodejs学习笔记之Stream模块
2015/01/13 NodeJs
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
微信小程序链接传参并跳转新页面
2016/11/29 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
原生JS写Ajax的请求函数功能
2017/12/22 Javascript
vue中post请求以a=a&amp;b=b 的格式写遇到的问题
2018/04/27 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
详解Vue 全局变量,局部变量
2019/04/17 Javascript
vue v-model的用法解析
2020/10/19 Javascript
JavaScript实现网页计算器功能
2020/10/29 Javascript
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python时间获取及转换知识汇总
2017/01/11 Python
Sublime开发python程序的示例代码
2018/01/24 Python
用十张图详解TensorFlow数据读取机制(附代码)
2018/02/06 Python
python 遍历pd.Series的index和value
2019/11/26 Python
Python实现栈和队列的简单操作方法示例
2019/11/29 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
阿联酋优惠券服务:Living Kool
2019/12/12 全球购物
岗位职责风险防控
2014/02/18 职场文书
少年闰土教学反思
2014/02/22 职场文书
平安校园建设方案
2014/05/02 职场文书
法务专员岗位职责
2015/02/14 职场文书