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超简单解决约瑟夫环问题
May 12 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
Oct 01 Python
Python设置在shell脚本中自动补全功能的方法
Jun 25 Python
python实现飞机大战微信小游戏
Mar 21 Python
python 制作自定义包并安装到系统目录的方法
Oct 27 Python
关于numpy数组轴的使用详解
Dec 05 Python
解决pytorch报错:AssertionError: Invalid device id的问题
Jan 10 Python
tensorboard显示空白的解决
Feb 15 Python
Flask模板引擎Jinja2使用实例
Apr 23 Python
Python基于gevent实现文件字符串查找器
Aug 11 Python
如何用用Python将地址标记在地图上
Feb 07 Python
教你如何使用Python Tkinter库制作记事本
Jun 10 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 Mysql类 可以参考学习熟悉下
2009/06/21 PHP
zend framework文件上传功能实例代码
2013/12/25 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
Python通过select实现异步IO的方法
2015/06/04 Python
python开发中module模块用法实例分析
2015/11/12 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
python selenium操作cookie的实现
2020/03/18 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
Europcar比利时:租车
2019/08/26 全球购物
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
PHP如何设置和取得Cookie值
2015/06/30 面试题
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
劳资员岗位职责
2013/11/11 职场文书
销售人员求职的自我评价分享
2014/03/15 职场文书
2014全国两会心得体会
2014/03/17 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
归元寺导游词
2015/02/06 职场文书
辩论会主持词
2015/07/03 职场文书