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的ORM框架SQLAlchemy入门教程
Apr 28 Python
python实现超简单端口转发的方法
Mar 13 Python
Python远程桌面协议RDPY安装使用介绍
Apr 15 Python
基于python socketserver框架全面解析
Sep 21 Python
使用python和Django完成博客数据库的迁移方法
Jan 05 Python
windows下pycharm安装、创建文件、配置默认模板
Jul 31 Python
详解Python3中的迭代器和生成器及其区别
Oct 09 Python
python 利用for循环 保存多个图像或者文件的实例
Nov 09 Python
如何利用pygame实现简单的五子棋游戏
Dec 29 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
May 15 Python
python中round函数如何使用
Jun 19 Python
解决PyCharm无法使用lxml库的问题(图解)
Dec 22 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判断是否连接上网络的方法
2015/07/01 PHP
PHP获取ttf格式文件字体名的方法示例
2019/03/06 PHP
捕获关闭窗口的脚本
2009/01/10 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
JavaScript之RegExp_动力节点Java学院整理
2017/06/29 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
详解django模板与vue.js冲突问题
2019/07/07 Javascript
vue中input的v-model清空操作
2019/09/06 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
[01:46]辉夜杯—打造中国DOTA新格局
2015/12/25 DOTA
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
python在指定目录下查找gif文件的方法
2015/05/04 Python
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
Flask之flask-script模块使用
2018/07/26 Python
在python中list作函数形参,防止被实参修改的实现方法
2020/06/05 Python
Python多分支if语句的使用
2020/09/03 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
PHP中如何使用Cookie
2015/10/28 面试题
园林施工员岗位职责
2013/12/11 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
文明村镇申报材料
2014/05/06 职场文书
酒店工程部岗位职责
2015/02/12 职场文书
2016母亲节感恩话语
2015/12/09 职场文书
Java实现聊天机器人完善版
2021/07/04 Java/Android
Window server中安装Redis的超详细教程
2021/11/17 Redis