Python实现的直接插入排序算法示例

 更新时间:2018年04月29日 11:24:25   作者:Vam.Dora.L  
这篇文章主要介绍了Python实现的直接插入排序算法,结合实例形式分析了Python直接插入排序算法的定义与使用相关操作技巧,代码备有较为详尽的注释便于理解,需要的朋友可以参考下

本文实例讲述了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

运行结果:

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • python中使用.py配置文件的方法详解

    python中使用.py配置文件的方法详解

    这篇文章主要介绍了python中使用.py配置文件的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • 浅谈Python中的全局锁(GIL)问题

    浅谈Python中的全局锁(GIL)问题

    今天小编就为大家分享一篇浅谈Python中的全局锁(GIL)问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python 数据类型强制转换的总结

    python 数据类型强制转换的总结

    这篇文章主要介绍了python 数据类型强制转换的使用总结,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01
  • Python餐饮AI机器人学习数据网络抓取

    Python餐饮AI机器人学习数据网络抓取

    在餐饮行业,AI机器人可以通过学习大量的相关数据来提供更好的服务和体验,在文本中,我们将介绍如何使用python进行餐饮A I机器人学习数据的网络抓取,并提供代码的示例和最佳实践
    2023-12-12
  • Django中如何使用Channels功能

    Django中如何使用Channels功能

    这篇文章主要介绍了在Django中使用Channels功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • 详解appium自动化测试工具(monitor、uiautomatorviewer)

    详解appium自动化测试工具(monitor、uiautomatorviewer)

    这篇文章主要介绍了详解appium自动化测试工具(monitor、uiautomatorviewer),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • python中字符串前面加r的作用

    python中字符串前面加r的作用

    这篇文章主要介绍了python中字符串前面加r的作用,实例分析了Python通过字符串前面加r实现禁止字符串转义的功能,需要的朋友可以参考下
    2015-06-06
  • Python利用遗传算法探索迷宫出路实例深究

    Python利用遗传算法探索迷宫出路实例深究

    当处理迷宫问题时,遗传算法提供了创新的解决方案,本文将深入探讨如何运用Python和遗传算法来解决迷宫问题,这是一个经典的寻路问题,寻找从起点到终点的最佳路径,遗传算法是一种启发式优化方法,适用于解决复杂问题,其中个体进化和自然选择的概念被用于寻找最优解
    2023-12-12
  • python base64图片互转,解决base64字符串转PIL图片对象报错:binascii.Error: Incorrect padding问题

    python base64图片互转,解决base64字符串转PIL图片对象报错:binascii.Error:

    在Base64编码中,若字符串长度不是4的倍数,需在末尾添加等号作为填充,不符合此规则会导致在转换为图片时出现binascii.Error:Incorrectpadding错误,正确的填充确保编码后的字符串可以正确转换成图片,避免转换错误
    2024-09-09
  • python3连接mysql获取ansible动态inventory脚本

    python3连接mysql获取ansible动态inventory脚本

    Ansible Inventory 是包含静态 Inventory 和动态 Inventory 两部分的,静态 Inventory 指的是在文件中指定的主机和组,动态 Inventory 指通过外部脚本获取主机列表。这篇文章主要介绍了python3连接mysql获取ansible动态inventory脚本,需要的朋友可以参考下
    2020-01-01

最新评论