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统计一个文本中重复行数的方法
Nov 19 Python
Python随机生成带特殊字符的密码
Mar 02 Python
Python与Java间Socket通信实例代码
Mar 06 Python
Python使用matplotlib简单绘图示例
Feb 01 Python
python去除拼音声调字母,替换为字母的方法
Nov 28 Python
python 移动图片到另外一个文件夹的实例
Jan 10 Python
Python基于mysql实现学生管理系统
Feb 21 Python
Python地图绘制实操详解
Mar 04 Python
python制作简单五子棋游戏
Jun 18 Python
在pytorch中实现只让指定变量向后传播梯度
Feb 29 Python
Python unittest单元测试框架及断言方法
Apr 15 Python
python套接字socket通信
Apr 01 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获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
php获得url参数中具有&amp;的值的方法
2014/03/05 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
BOM与DOM的区别分析
2010/10/26 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
2011/12/20 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
详解Angular cli配置过程记录
2019/11/07 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
Python中装饰器高级用法详解
2017/12/25 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
python pygame实现五子棋小游戏
2020/10/26 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
Python模块相关知识点小结
2020/03/09 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
Python用SSH连接到网络设备
2021/02/18 Python
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
一些关于MySql加速和优化的面试题
2014/01/30 面试题
聚美优品的广告词
2014/03/14 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
2014年环保工作总结
2014/11/26 职场文书
迎新生欢迎词
2015/01/23 职场文书
村官个人总结范文
2015/03/03 职场文书
班级联欢会主持词
2015/07/03 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
Golang 语言控制并发 Goroutine的方法
2021/06/30 Golang
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers