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中用于计算指数的exp()方法
May 14 Python
python3大文件解压和基本操作
Dec 15 Python
浅谈pycharm出现卡顿的解决方法
Dec 03 Python
【python】matplotlib动态显示详解
Apr 11 Python
Django模型序列化返回自然主键值示例代码
Jun 12 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
解决pyqt5中QToolButton无法使用的问题
Jun 21 Python
PyCharm GUI界面开发和exe文件生成的实现
Mar 04 Python
执行Python程序时模块报错问题
Mar 26 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
Apr 10 Python
Python Mock模块原理及使用方法详解
Jul 07 Python
python中的None与NULL用法说明
May 25 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
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
2016/03/14 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
基于jQuery Easyui实现登陆框界面
2017/07/10 jQuery
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
vue2.0项目实现路由跳转的方法详解
2018/06/21 Javascript
详解ECMAScript typeof用法
2018/07/25 Javascript
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
python实现AES加密解密
2019/03/28 Python
Python基础学习之时间转换函数用法详解
2019/06/18 Python
django框架使用方法详解
2019/07/18 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
python 两个数据库postgresql对比
2019/10/21 Python
Python numpy线性代数用法实例解析
2019/11/15 Python
详解python 内存优化
2020/08/17 Python
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
药剂专业学生求职信范文
2013/12/28 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
代领报检证委托书范本
2014/10/11 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
大学生逃课检讨书
2015/05/04 职场文书
基于python的matplotlib制作双Y轴图
2021/04/20 Python
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis