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中使用base64模块处理字符编码的教程
Apr 28 Python
Python学习pygal绘制线图代码分享
Dec 09 Python
python读取文本中数据并转化为DataFrame的实例
Apr 10 Python
Python饼状图的绘制实例
Jan 15 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
Apr 29 Python
在Django的View中使用asyncio的方法
Jul 12 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
Oct 18 Python
python 画3维轨迹图并进行比较的实例
Dec 06 Python
python爬虫实现获取下一页代码
Mar 13 Python
python中有帮助函数吗
Jun 19 Python
Python操作Word批量生成合同的实现示例
Aug 28 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
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
2007/03/29 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
PHP中isset()和unset()函数的用法小结
2014/03/11 PHP
PHP的变量类型和作用域详解
2014/03/12 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
Jquery中Event对象属性小结
2015/02/27 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
通俗解释JavaScript正则表达式快速记忆
2017/08/23 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
Python信息抽取之乱码解决办法
2017/06/29 Python
python删除服务器文件代码示例
2018/02/09 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
opencv-python的RGB与BGR互转方式
2020/06/02 Python
路易威登和香奈儿手袋:LuxeDH
2017/01/12 全球购物
加拿大约会网站:EliteSingles.ca
2018/01/12 全球购物
三星印度官网:Samsung印度
2019/08/03 全球购物
大学生四个方面的自我评价
2013/09/19 职场文书
英语文学专业学生的自我评价
2013/10/31 职场文书
教师的实习自我鉴定
2013/12/17 职场文书
某同学的自我鉴定范文
2013/12/26 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
搞笑车尾标语
2014/06/23 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
教导主任个人总结
2015/03/03 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
Python采集爬取京东商品信息和评论并存入MySQL
2022/04/12 Python
HTML中link标签属性的具体用法
2023/05/07 HTML / CSS