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用于url解码和中文解析的小脚本(python url decoder)
Aug 11 Python
Python跳出循环语句continue与break的区别
Aug 25 Python
python字典的常用操作方法小结
May 16 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
Jun 27 Python
JSON文件及Python对JSON文件的读写操作
Oct 07 Python
django解决跨域请求的问题
Nov 11 Python
win10下python2和python3共存问题解决方法
Dec 23 Python
Python线程条件变量Condition原理解析
Jan 20 Python
详解python 降级到3.6终极解决方案
Feb 06 Python
Python xlwt模块使用代码实例
Jun 10 Python
Python绘制地图神器folium的新人入门指南
May 23 Python
5个pandas调用函数的方法让数据处理更加灵活自如
Apr 24 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
php5.3 注意事项说明
2013/07/01 PHP
详解php反序列化
2020/06/10 PHP
JavaScript 动态生成方法的例子
2009/07/22 Javascript
指定位置如果有图片显示图片,无图片显示广告的JS
2010/06/05 Javascript
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
纯JS焦点图特效实例(可一个页面多用)
2016/12/07 Javascript
从零学习node.js之搭建http服务器(二)
2017/02/21 Javascript
Javascript中prototype与__proto__的关系详解
2018/03/11 Javascript
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
2018/11/26 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
2020/09/04 Javascript
Python获取服务器信息的最简单实现方法
2015/03/05 Python
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
Python实现图片转字符画的示例
2017/08/22 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
Python实现12306火车票抢票系统
2019/07/04 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
Python生成随机验证码代码实例解析
2020/06/09 Python
TensorFlow中如何确定张量的形状实例
2020/06/23 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
2020/07/01 Python
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
俄罗斯小米家用电器、电子产品和智能家居商店:Poood.ru
2020/04/03 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
标记环介质访问控制协议
2016/03/27 面试题
我们的节日端午节活动方案
2014/03/02 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书