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 自动安装 Rising 杀毒软件
Apr 24 Python
python实现bucket排序算法实例分析
May 04 Python
Python中unittest模块做UT(单元测试)使用实例
Jun 12 Python
深入理解Python中装饰器的用法
Jun 28 Python
解决Python pandas df 写入excel 出现的问题
Jul 04 Python
python将txt等文件中的数据读为numpy数组的方法
Dec 22 Python
python 堆和优先队列的使用详解
Mar 05 Python
Python序列类型的打包和解包实例
Dec 21 Python
python多线程实现同时执行两个while循环的操作
May 02 Python
13个Pandas实用技巧,助你提高开发效率
Aug 19 Python
python之语音识别speech模块
Sep 09 Python
基于Python采集爬取微信公众号历史数据
Nov 27 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开发中页面乱码的产生与解决
2008/03/27 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
2010/05/04 PHP
延长phpmyadmin登录时间的方法
2011/02/06 PHP
zend api扩展的php对象的autoload工具
2011/04/18 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
PHP7 windows支持
2021/03/09 PHP
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
用JavaScript和jQuery实现瀑布流
2017/03/19 Javascript
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
详解微信小程序回到顶部的两种方式
2019/05/09 Javascript
node.js实现上传文件功能
2019/07/15 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
2019/08/27 Javascript
python处理圆角图片、圆形图片的例子
2014/04/25 Python
Python中正则表达式的用法实例汇总
2014/08/18 Python
Python日志模块logging简介
2015/04/13 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
基于django传递数据到后端的例子
2019/08/16 Python
Python socket 套接字实现通信详解
2019/08/27 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
2019/12/26 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
CSS3 实现穿梭星空动画
2020/11/13 HTML / CSS
Skyscanner波兰:廉价航班
2017/11/07 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
幼儿园毕业家长感言
2014/02/10 职场文书
班级安全教育实施方案
2014/02/23 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
施工安全员岗位职责
2015/04/11 职场文书
golang中字符串MD5生成方式总结
2021/07/04 Golang