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实现bucket排序算法实例分析
May 04 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 Python
python记录程序运行时间的三种方法
Jul 14 Python
Python中join函数简单代码示例
Jan 09 Python
Python用sndhdr模块识别音频格式详解
Jan 11 Python
python文本数据相似度的度量
Mar 12 Python
django反向解析和正向解析的方式
Jun 05 Python
浅析Python pandas模块输出每行中间省略号问题
Jul 03 Python
python使用pymongo操作mongo的完整步骤
Apr 13 Python
通过 Python 和 OpenCV 实现目标数量监控
Jan 05 Python
python字典按照value排序方法
Dec 28 Python
Python中npy和mat文件的保存与读取
Apr 24 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
用来解析.htgroup文件的PHP类
2012/09/05 PHP
php发送post请求的三种方法
2014/02/11 PHP
ThinkPHP CURD方法之field方法详解
2014/06/18 PHP
PHP速成大法
2015/01/30 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
js弹出的对话窗口永远保持居中显示
2012/12/15 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
2016/07/08 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
详解小程序input框失焦事件在提交事件前的处理
2019/05/05 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
2019/07/22 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
js实现缓动动画
2020/11/25 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
python通过exifread模块获得图片exif信息的方法
2015/03/16 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
Python logging自定义字段输出及打印颜色
2020/11/30 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
2021/01/09 Python
Django如何重置migration的几种情景
2021/02/24 Python
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
苹果台湾官网:Apple台湾
2019/01/05 全球购物
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
运动会广播稿80字
2014/01/23 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
大家访活动实施方案
2014/03/10 职场文书
教师产假请假条范文
2014/04/10 职场文书
大学生创业计划书
2014/08/14 职场文书
财务助理岗位职责范本
2014/10/09 职场文书
干部考核工作总结2015
2015/07/24 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL