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单例模式实例分析
Jan 14 Python
python实现马耳可夫链算法实例分析
May 20 Python
Python中的日期时间处理详解
Nov 17 Python
微信跳一跳小游戏python脚本
Jan 05 Python
Python解析命令行读取参数--argparse模块使用方法
Jan 23 Python
Python中安装easy_install的方法
Nov 18 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
Nov 21 Python
对python读取CT医学图像的实例详解
Jan 24 Python
python统计中文字符数量的两种方法
Jan 31 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
Apr 29 Python
Flask框架模板继承实现方法分析
Jul 31 Python
Pytorch maxpool的ceil_mode用法
Feb 18 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
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
php中in_array函数用法分析
2014/11/15 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
JavaScript 学习技巧
2010/02/17 Javascript
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
在windows上用nodejs搭建静态文件服务器的简单方法
2016/08/11 NodeJs
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
Node.js Sequelize如何实现数据库的读写分离
2016/10/23 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
es6函数中的作用域实例分析
2020/04/18 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
python益智游戏计算汉诺塔问题示例
2014/03/05 Python
Python使用minidom读写xml的方法
2015/06/03 Python
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
python中的文件打开与关闭操作命令介绍
2018/04/26 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
Python实现数值积分方式
2019/11/20 Python
Python 复平面绘图实例
2019/11/21 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
服装店营销方案
2014/03/10 职场文书
课程改革实施方案
2014/03/16 职场文书
大学生求职信例文
2014/06/29 职场文书
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电
JavaScript的Set数据结构详解
2022/02/18 Javascript