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 相关文章推荐
wxpython 学习笔记 第一天
Feb 09 Python
用Python编写一个基于终端的实现翻译的脚本
Apr 24 Python
python基础之包的导入和__init__.py的介绍
Jan 08 Python
Python使用装饰器进行django开发实例代码
Feb 06 Python
django基于restframework的CBV封装详解
Aug 08 Python
DJango的创建和使用详解(默认数据库sqlite3)
Nov 18 Python
Python input函数使用实例解析
Nov 22 Python
Python 字典中的所有方法及用法
Jun 10 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
Jul 09 Python
python 如何设置守护进程
Oct 29 Python
python 列表推导和生成器表达式的使用
Feb 01 Python
Python中json.dumps()函数的使用解析
May 17 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
php操作sqlserver关于时间日期读取的小小见解
2009/11/29 PHP
PHP排序算法的复习和总结
2012/02/15 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
2015/04/15 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
Javascript 读书笔记索引贴
2010/01/11 Javascript
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
Python类的继承和多态代码详解
2017/12/27 Python
django 类视图的使用方法详解
2019/07/24 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
解决Numpy中sum函数求和结果维度的问题
2019/12/06 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
python 线程的五个状态
2020/09/22 Python
Lookfantastic台湾:英国彩妆美发保养购物网
2018/03/26 全球购物
检察官就职演讲稿
2014/01/13 职场文书
优秀学生干部推荐材料
2014/02/03 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
文明寝室申报材料
2014/05/12 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
欠条样本
2015/07/03 职场文书
2016高考感言
2015/08/01 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
springboot临时文件存储目录配置方式
2021/07/01 Java/Android