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异步回调机制实现和使用方法
Nov 26 Python
Python实现把数字转换成中文
Jun 29 Python
Python爬虫番外篇之Cookie和Session详解
Dec 27 Python
python 爬虫 批量获取代理ip的实例代码
May 22 Python
python文件选择对话框的操作方法
Jun 27 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 Python
django实现后台显示媒体文件
Apr 07 Python
python 解决Fatal error in launcher:错误问题
May 21 Python
python中如何使用虚拟环境
Oct 14 Python
MoviePy简介及Python视频剪辑自动化
Dec 18 Python
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
Apr 06 Python
教你使用一行Python代码玩遍童年的小游戏
Aug 23 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
重置版游戏视频
2020/04/09 魔兽争霸
PHP脚本的10个技巧(2)
2006/10/09 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
JavaScript 私有成员分析
2009/01/13 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
JavaScript中两个字符串的匹配
2016/06/08 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
2017/08/04 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
2020/04/25 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
Python中的getopt函数使用详解
2015/07/28 Python
python读取txt文件中特定位置字符的方法
2018/12/24 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
Skyscanner香港:机票比价, 平机票和廉价航空机票预订
2020/02/07 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
汽车专业毕业生推荐信
2013/11/12 职场文书
公关活动策划方案
2014/05/25 职场文书
服务标语大全
2014/06/18 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA