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实现的各种排序算法代码
Mar 04 Python
Python 模块EasyGui详细介绍
Feb 19 Python
Python实现的弹球小游戏示例
Aug 01 Python
python 巧用正则寻找字符串中的特定字符的位置方法
May 02 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 Python
python爬虫之线程池和进程池功能与用法详解
Aug 02 Python
pandas 将索引值相加的方法
Nov 15 Python
通过实例了解python property属性
Nov 01 Python
pytorch获取模型某一层参数名及参数值方式
Dec 30 Python
解决pytorch报错:AssertionError: Invalid device id的问题
Jan 10 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
Jan 10 Python
Python爬虫开发与项目实战
Dec 16 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
国王的咖啡这么大来头,名字的由来是什么
2021/03/03 咖啡文化
使用Curl进行抓取远程内容时url中文编码问题示例探讨
2013/10/29 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
php实现zip文件解压操作
2015/11/03 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
php禁用函数设置及查看方法详解
2016/07/25 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
php将html转为图片的实现方法
2017/05/19 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
2019/06/10 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
JSONP解决JS跨域问题的实现
2020/05/25 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
python爬虫教程之爬取百度贴吧并下载的示例
2014/03/07 Python
python中字典(Dictionary)用法实例详解
2015/05/30 Python
python获取一组汉字拼音首字母的方法
2015/07/01 Python
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
python得到单词模式的示例
2018/10/15 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
在Python中实现函数重载的示例代码
2019/12/12 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
如何验证python安装成功
2020/07/06 Python
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
岳父生日宴会答谢词
2014/01/13 职场文书
文明班集体申报材料
2014/05/23 职场文书
实习推荐信格式模板
2015/03/27 职场文书
导游词之青城山景区
2019/09/27 职场文书
php字符串倒叙
2021/04/01 PHP
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL