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错误处理详解
Sep 28 Python
利用Python演示数型数据结构的教程
Apr 03 Python
Python求导数的方法
May 09 Python
Python实现快速多线程ping的方法
Jul 15 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
May 18 Python
python实现批量修改图片格式和尺寸
Jun 07 Python
python中scikit-learn机器代码实例
Aug 05 Python
Python Django Vue 项目创建过程详解
Jul 29 Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 Python
python 中的命名空间,你真的了解吗?
Aug 19 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 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 常见郁闷问题答解
2006/11/25 PHP
PHP 截取字符串专题集合
2010/08/19 PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
2013/02/14 PHP
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
JS控件autocomplete 0.11演示及下载 1月5日已更新
2007/01/09 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
js获取checkbox值的方法
2015/01/28 Javascript
JavaScript里四舍五入函数round用法实例
2015/04/06 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
python 循环while和for in简单实例
2016/08/16 Python
python中redis的安装和使用
2016/12/04 Python
Django Web开发中django-debug-toolbar的配置以及使用
2018/05/06 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
办公室助理岗位职责
2013/12/25 职场文书
幼儿园保教管理制度
2014/02/03 职场文书
《威尼斯的小艇》教学反思
2014/02/17 职场文书
岗位职责说明书
2014/05/07 职场文书
材料物理专业求职信
2014/09/01 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
教你如何使用Python Tkinter库制作记事本
2021/06/10 Python
Golang获取List列表元素的四种方式
2022/04/20 Golang