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 22 Python
python实现随机调用一个浏览器打开网页
Apr 21 Python
numpy的文件存储.npy .npz 文件详解
Jul 09 Python
Python函数和模块的使用总结
May 20 Python
选择python进行数据分析的理由和优势
Jun 25 Python
python tkinter基本属性详解
Sep 16 Python
为什么黑客都用python(123个黑客必备的Python工具)
Jan 31 Python
Python如何批量获取文件夹的大小并保存
Mar 31 Python
pytorch中的weight-initilzation用法
Jun 24 Python
详解Python高阶函数
Aug 15 Python
python实现二分查找算法
Sep 18 Python
Django filter动态过滤与排序实现过程解析
Nov 26 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学习教程之第2天
2008/06/15 PHP
php中var_export与var_dump的区别分析
2010/08/21 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
jQuery源码分析之Event事件分析
2010/06/07 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
JS处理json日期格式化问题
2015/10/01 Javascript
JavaScript程序开发之JS代码放置的位置
2016/01/15 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
javascript实现下雪效果【实例代码】
2016/05/03 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
python脚本设置系统时间的两种方法
2016/02/21 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
Flask框架钩子函数功能与用法分析
2019/08/02 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
2019/09/26 Python
css3之UI元素状态伪类选择器实例演示
2017/08/11 HTML / CSS
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
招商业务员岗位职责
2013/12/16 职场文书
学生实习介绍信
2014/01/15 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
大专学生求职信
2014/07/04 职场文书
学习“七一”讲话精神体会
2014/07/08 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
前端监听websocket消息并实时弹出(实例代码)
2021/11/27 Javascript