Python实现的直接插入排序算法示例


Posted in Python onApril 29, 2018

本文实例讲述了Python实现的直接插入排序算法。分享给大家供大家参考,具体如下:

# -*- coding:utf-8 -*-
'''直接插入的python实现
  时间复杂度O(n**2) 空间复杂度O(1) 稳定
思想:先将前两个元素排序,第三个元素插入前面已排好序列,
    后面的元素依次插入之前已经排好序的序列
'''
author = 'Leo Howell'
L = [89,67,56,45,34,23,1]
def direct_insert_sort(numbers):
  for i in range(1,len(numbers)):
    #temp变量指向尚未排好序元素(从第二个开始)
    temp = numbers[i]
    #j指向前一个元素的下标
    j = i-1
    #temp与前一个元素比较,若temp较小则前一元素后移,j自减,继续比较
    while j>=0 and temp<numbers[j]:
      numbers[j+1]=numbers[j]
      j = j-1
    #temp所指向元素的最终位置
    numbers[j+1] = temp
if __name__=='__main__':
  direct_insert_sort(L)
  print L

运行结果:

Python实现的直接插入排序算法示例

Python 相关文章推荐
详解Python字符串对象的实现
Dec 24 Python
python爬虫的工作原理
Mar 05 Python
Python实现的ftp服务器功能详解【附源码下载】
Jun 26 Python
python 反编译exe文件为py文件的实例代码
Jun 27 Python
Win10 安装PyCharm2019.1.1(图文教程)
Sep 29 Python
用pytorch的nn.Module构造简单全链接层实例
Jan 14 Python
Django的ListView超详细用法(含分页paginate)
May 21 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
Jun 03 Python
Python如何给你的程序做性能测试
Jul 29 Python
详解用 python-docx 创建浮动图片
Jan 24 Python
如何利用python和DOS获取wifi密码
Mar 31 Python
详解Python requests模块
Jun 21 Python
Python实现的堆排序算法示例
Apr 29 #Python
Python中实现变量赋值传递时的引用和拷贝方法
Apr 29 #Python
分享一下Python数据分析常用的8款工具
Apr 29 #Python
Python随机函数random()使用方法小结
Apr 29 #Python
Python中py文件引用另一个py文件变量的方法
Apr 29 #Python
python实现类之间的方法互相调用
Apr 29 #Python
Python装饰器原理与简单用法实例分析
Apr 29 #Python
You might like
乱谈我对耳机、音箱的感受
2021/03/02 无线电
为查询结果建立向后/向前按钮
2006/10/09 PHP
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
php中将汉字转换成拼音的函数代码
2012/09/08 PHP
php eval函数用法 PHP中eval()函数小技巧
2012/10/31 PHP
php强制下载文件函数
2016/08/24 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
2017/02/17 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
JavaScript中计算网页中某个元素的位置
2015/06/10 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
javascript实现遮罩层动态效果实例
2019/05/14 Javascript
开源一个微信小程序仪表盘组件过程解析
2019/07/30 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
python通过加号运算符操作列表的方法
2015/07/28 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
2017/12/03 Python
pycharm运行程序时在Python console窗口中运行的方法
2018/12/03 Python
python中update的基本使用方法详解
2019/07/17 Python
Html5自定义字体解决方法
2019/10/09 HTML / CSS
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
信用社实习人员自我鉴定
2013/09/20 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
病危通知书样本
2015/04/17 职场文书
2015中学教师个人工作总结
2015/07/22 职场文书
校运会宣传稿大全
2015/07/23 职场文书
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL