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中django框架通过正则搜索页面上email地址的方法
Mar 21 Python
一些Python中的二维数组的操作方法
May 02 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
Python获取指定文件夹下的文件名的方法
Feb 06 Python
python3基于OpenCV实现证件照背景替换
Jul 18 Python
python实现输入任意一个大写字母生成金字塔的示例
Oct 27 Python
关于python pycharm中输出的内容不全的解决办法
Jan 10 Python
opencv python Canny边缘提取实现过程解析
Feb 03 Python
python实现猜数游戏
Mar 27 Python
python 使用多线程创建一个Buffer缓存器的实现思路
Jul 02 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
Feb 01 Python
pytorch锁死在dataloader(训练时卡死)
May 28 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
《雄兵连》《烈阳天道》真的来了
2020/07/13 国漫
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
php中的观察者模式
2010/03/24 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
php post换行的方法
2020/02/03 PHP
JS中==与===操作符的比较
2009/03/21 Javascript
js 内存释放问题
2010/04/25 Javascript
js星星评分效果
2014/07/24 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
Angularjs中使用轮播图指令swiper
2017/05/30 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
解决jquery appaend元素中id绑定事件失效的问题
2017/09/12 jQuery
微信小程序实现tab切换效果
2017/11/21 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
vue项目中自定义video视频控制条的实现代码
2020/04/26 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
使用Python开发windows GUI程序入门实例
2014/10/23 Python
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
Python对象转换为json的方法步骤
2019/04/25 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
HTML5的语法变化介绍
2013/08/13 HTML / CSS
详解html2canvas截图不能截取圆角图片的解决方案
2018/01/30 HTML / CSS
美国网上购买眼镜:Eyeconic
2017/07/29 全球购物
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
亲子读书活动方案
2014/02/22 职场文书
公司运动会策划方案
2014/05/25 职场文书
2015元旦节寄语
2014/12/08 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
redis 解决库存并发问题实现数量控制
2022/04/08 Redis
详解Vue3使用axios的配置教程
2022/04/29 Vue.js