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高效编程技巧
Jan 07 Python
python安装教程 Pycharm安装详细教程
May 02 Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 Python
Python 和 JS 有哪些相同之处
Nov 23 Python
tensorflow获取变量维度信息
Mar 10 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
Python连接字符串过程详解
Jan 06 Python
手把手教你安装Windows版本的Tensorflow
Mar 26 Python
Python代码中如何读取键盘录入的值
May 27 Python
python中sys模块的介绍与实例
Apr 17 Python
Python爬虫基础初探selenium
May 31 Python
Python中三种花式打印的示例详解
Mar 19 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
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
php实现登录页面的简单实例
2019/09/29 PHP
JavaScript的eval JSON object问题
2009/11/15 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
python简单实现计算过期时间的方法
2015/06/09 Python
使用python实现接口的方法
2017/07/07 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
python中调试或排错的五种方法示例
2019/09/12 Python
Python collections模块的使用方法
2020/10/09 Python
Python try except finally资源回收的实现
2021/01/25 Python
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
儿科护士实习自我鉴定
2013/10/17 职场文书
教师求职信范文分享
2013/12/27 职场文书
项目投资建议书
2014/05/16 职场文书
主要负责人任命书
2014/06/06 职场文书
煤矿安全协议书
2014/08/20 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
邀请书格式范文
2015/02/02 职场文书
仰望星空观后感
2015/06/10 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
Redis+AOP+自定义注解实现限流
2022/06/28 Redis