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操作mongodb根据_id查询数据的实现方法
May 20 Python
整理Python 常用string函数(收藏)
May 30 Python
Python中Django 后台自定义表单控件
Mar 28 Python
Python中异常重试的解决方案详解
May 05 Python
Python回文字符串及回文数字判定功能示例
Mar 20 Python
Windows下安装Scrapy
Oct 17 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
Dec 11 Python
python制作抖音代码舞
Apr 07 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 Python
解决keras backend 越跑越慢问题
Jun 18 Python
python不同系统中打开方法
Jun 23 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
信用卡效验程序
2006/10/09 PHP
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
PHP实现微信红包金额拆分试玩的算法示例
2018/04/07 PHP
Javascript - HTML的request类
2006/07/15 Javascript
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
基于jQuery的自动完成插件
2011/02/03 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
javascript 实现map集合
2015/04/03 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
浅谈angular懒加载的一些坑
2016/08/20 Javascript
使用JS 插件qrcode.js生成二维码功能
2017/02/20 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
AngularJS实现页面跳转后自动弹出对话框实例代码
2017/08/02 Javascript
vue操作下拉选择器获取选择的数据的id方法
2018/08/24 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
python轻松实现代码编码格式转换
2015/03/26 Python
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
python paramiko模块学习分享
2017/08/23 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
德国PC硬件网站:CASEKING
2016/10/20 全球购物
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
茶叶店创业计划书范文
2014/01/19 职场文书
庆七一活动总结
2014/08/27 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
Java8 CompletableFuture 异步回调
2022/04/28 Java/Android
js作用域及作用域链工作引擎
2022/07/07 Javascript