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中操作字符串之replace()方法的使用
May 19 Python
python中pandas.DataFrame排除特定行方法示例
Mar 12 Python
详解Python判定IP地址合法性的三种方法
Mar 06 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
Apr 12 Python
pandas数据清洗,排序,索引设置,数据选取方法
May 18 Python
python截取两个单词之间的内容方法
Dec 25 Python
Python读取VOC中的xml目标框实例
Mar 10 Python
基于python纯函数实现井字棋游戏
May 27 Python
Python执行时间的几种计算方法
Jul 31 Python
matplotlib 三维图表绘制方法简介
Sep 20 Python
python绘制高斯曲线
Feb 19 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
Mar 02 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控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
4种PHP异步执行的常用方式
2015/12/24 PHP
JQuery 表单中textarea字数限制实现代码
2009/12/07 Javascript
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
jquery radio 操作代码
2011/03/16 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
JavaScript 数组详解
2013/10/10 Javascript
jQuery实现预加载图片的方法
2015/03/17 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
JS 清除字符串数组中,重复元素的实现方法
2016/05/24 Javascript
浅谈js控制li标签排序问题 js调用php函数的方法
2016/10/16 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
一百行python代码将图片转成字符画
2021/02/19 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
Series和DataFrame使用简单入门
2019/11/13 Python
将labelme格式数据转化为标准的coco数据集格式方式
2020/02/17 Python
使用python检查yaml配置文件是否符合要求
2020/04/09 Python
结合CSS3的布局新特征谈谈常见布局方法
2016/01/22 HTML / CSS
HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果
2016/04/26 HTML / CSS
Miller Harris官网:英国小众香水品牌
2020/09/24 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
俞敏洪北大演讲稿
2014/05/22 职场文书
工作表扬信
2015/01/17 职场文书
故意伤害辩护词
2015/05/21 职场文书
通知怎么写?
2019/04/17 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
django 认证类配置实现
2021/11/11 Python