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计算最大优先级队列实例
Dec 18 Python
python求众数问题实例
Sep 26 Python
Python学习笔记整理3之输入输出、python eval函数
Dec 14 Python
Python复数属性和方法运算操作示例
Jul 21 Python
简单实现python数独游戏
Mar 30 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
Feb 16 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
Mar 01 Python
介绍一款python类型检查工具pyright(推荐)
Jul 03 Python
python实现简单俄罗斯方块
Mar 13 Python
keras.layer.input()用法说明
Jun 16 Python
python 常见的反爬虫策略
Sep 27 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
Nov 25 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/03/04 日漫
编写漂亮的代码 - 将后台程序与前端程序分开
2008/04/23 PHP
PHP中的string类型使用说明
2010/07/27 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
PHP使用mysqli操作MySQL数据库的简单方法
2017/02/04 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
详解jquery中$.ajax方法提交表单
2014/11/03 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
Node.js实现数据推送
2016/04/14 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
深入理解bootstrap框架之入门准备
2016/10/09 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
2017/05/15 Javascript
JavaScript队列函数和异步执行详解
2017/06/19 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
2018/08/13 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python Sleep休眠函数使用简单实例
2015/02/02 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
python归并排序算法过程实例讲解
2020/11/04 Python
html5 迷宫游戏(碰撞检测)实例一
2013/07/25 HTML / CSS
智利最大的网上商店:Linio智利
2016/11/24 全球购物
行政办公员自我评价分享
2013/12/14 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
仲裁协议书
2014/09/26 职场文书
旷课检讨书范文
2014/10/30 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
体育教师个人总结
2015/02/09 职场文书
大学班长竞选稿
2015/11/20 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书
Python下opencv使用hough变换检测直线与圆
2021/06/18 Python
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL