python中的插入排序的简单用法

 更新时间:2021年01月19日 11:33:13   作者:十一  
在本篇内容里小编给各位分享的是一篇关于python中的插入排序的简单用法,有兴趣的朋友们可以参考学习下。

现在大家学习python掌握内容了解太多太多,但是最重要的不是掌握了解算法的使用,而是了解算法原理远比使用算法命令更重要,现在大家了解算法应该都不低于5种了吧,比如排序算法、冒泡算法、归并算法等等,那对本期主题插入算法有过了解吗?如果没有了解的小伙伴可以跟着小编一起来了解学习。

插入排序简介:

将列表分为有序区和无序区两个部分,最初有序区只有一个元素,即第一个元素。

然后每次从无序区选择一个元素,插入到有序区中,直到无序区为空。

运行图示:

实现代码:

# 选择排序 O(n2)
def insert_sort(li):
 for i in range(1, len(li)):
  tmp = li[i]
  j = i - 1
   while j >= 0 and li[j] > tmp:
      li[j + 1] = li[j]
   j -= 1
    li[j+1] = tmp

扩展实例代码:

# -*- coding: utf-8 -*-
'''
插入排序:
 类似于摸牌,从牌堆中摸一张牌,和手中现有手牌比较。若大则放右边,小放左边。

''
def insert_sort(input_list):
 if len(input_list)<=1:
 return input_list
 for right in range(1,len(input_list)): # 开始从牌堆中摸牌
 val = input_list[right]  # 当前摸牌的值
 for left in range(0,right): # 循环和手中牌进行比较
  if val <= input_list[left]: # 若<最左边的牌了
  input_list[left+1:right+1]=input_list[left:right]
  input_list[left]=val
  break
 return input_list
if __name__ == '__main__':
 pre_list = [1,6,3,3,7]
 res = insert_sort(pre_list)
 print(res)

到此这篇关于python中的插入排序的简单用法的文章就介绍到这了,更多相关python中的插入排序怎么用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现写数字文件名的递增保存文件方法

    python实现写数字文件名的递增保存文件方法

    今天小编就为大家分享一篇python实现写数字文件名的递增保存文件方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python爬取数据中的headers和代理IP问题分析

    python爬取数据中的headers和代理IP问题分析

    这篇文章主要为大家介绍了python爬取数据中的headers和代理IP问题分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 利用Python绘制MySQL数据图实现数据可视化

    利用Python绘制MySQL数据图实现数据可视化

    这篇文章主要介绍了利用Python绘制MySQL数据图实现数据可视化,其中包括Python与MySQL的连接搭建、用Python执行MySQL语句查询等内容,需要的朋友可以参考下
    2015-03-03
  • Python3.x对JSON的一些操作示例

    Python3.x对JSON的一些操作示例

    最近在学习python3,正巧遇到了一些json的操作,索性整理一下分享出来,下面这篇文章主要给大家介绍了关于Python3.x对JSON的一些操作,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-09-09
  • Python字符串格式化实例讲解

    Python字符串格式化实例讲解

    字符串是Pyhon中的常用的数据类型,这篇文章主要为大家详细介绍一下python字符串的格式化教程,文中示例代码讲解详细,需要的朋友可以参考下
    2022-10-10
  • 使用Python做垃圾分类的原理及实例代码附源码

    使用Python做垃圾分类的原理及实例代码附源码

    这篇文章主要介绍了用Python做垃圾分类的实现原理,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • Python 多继承中的一个诡异现象 既是 Father又是grandfather

    Python 多继承中的一个诡异现象 既是 Father又是grandfather

    我们知道,在面向对象编程里面,继承是一个很重要的概念。子类可以使用父类的方法和属性,接下来小编将用举例的方式为大家讲解Python 多继承中的一个诡异现象 其即是爸爸又是爷爷的奇葩现象,感兴趣的小伙伴可以看下面文章具体了解
    2021-09-09
  • 如何将Python编译成C语言

    如何将Python编译成C语言

    这篇文章主要介绍了如何将Python编译成C语言,我们都知道python比c慢,下面小编就来个大家分享如何将Python编译成C语言,需要的小伙伴可以参考一下
    2022-01-01
  • pytorch GPU计算比CPU还慢的可能原因分析

    pytorch GPU计算比CPU还慢的可能原因分析

    这篇文章主要介绍了pytorch GPU计算比CPU还慢的可能原因,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 国产化设备鲲鹏CentOS7上源码安装Python3.7的过程详解

    国产化设备鲲鹏CentOS7上源码安装Python3.7的过程详解

    这篇文章主要介绍了国产化设备鲲鹏CentOS7上源码安装Python3.7,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05

最新评论