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实现将html表格转换成CSV文件的方法
Jun 28 Python
Python编程实现使用线性回归预测数据
Dec 07 Python
python类的方法属性与方法属性的动态绑定代码详解
Dec 27 Python
使用Python写一个量化股票提醒系统
Aug 22 Python
Python用5行代码写一个自定义简单二维码
Oct 21 Python
python跳出双层for循环的解决方法
Jun 24 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
Apr 21 Python
如何在sublime编辑器中安装python
May 20 Python
python3 循环读取excel文件并写入json操作
Jul 14 Python
python 实现朴素贝叶斯算法的示例
Sep 30 Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 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写MySQL数据 实现代码
2009/06/15 PHP
pdo中使用参数化查询sql
2011/08/11 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
php中关于长度计算容易混淆的问题分析
2016/05/27 PHP
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
javascript针对DOM的应用实例(一)
2012/04/15 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
微信小程序保存多张图片的实现方法
2019/03/05 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
Python单体模式的几种常见实现方法详解
2017/07/28 Python
python使用fork实现守护进程的方法
2017/11/16 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
python 进程的几种创建方式详解
2019/08/29 Python
python如何调用字典的key
2020/05/25 Python
HTML5 Canvas锯齿图代码实例
2014/04/10 HTML / CSS
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
英国标志性生活方式品牌:Skinnydip London
2019/12/15 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
小学运动会入场式解说词
2014/02/18 职场文书
生日宴会主持词
2014/03/20 职场文书
出纳担保书范文
2014/04/02 职场文书
读书小明星事迹材料
2014/05/03 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
上课说话检讨书500字
2014/11/01 职场文书
初中成绩单评语
2014/12/29 职场文书
党员个人总结自评
2015/02/14 职场文书