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中threading模块join函数用法实例分析

    Python中threading模块join函数用法实例分析

    这篇文章主要介绍了Python中threading模块join函数用法,以实例形式较为详细的分析了join函数的功能与使用方法,需要的朋友可以参考下
    2015-06-06
  • 关于VSCode 配置使用 PyLint 语法检查器的问题

    关于VSCode 配置使用 PyLint 语法检查器的问题

    这篇文章主要介绍了VSCode 配置使用 PyLint 语法检查器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • python利用插值法对折线进行平滑曲线处理

    python利用插值法对折线进行平滑曲线处理

    这篇文章主要为大家详细介绍了python利用插值法对折线进行平滑曲线处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • 安装conda搭建python环境保姆级教程(超详细!)

    安装conda搭建python环境保姆级教程(超详细!)

    这篇文章主要给大家介绍了关于安装conda搭建python环境保姆级教程的相关资料,conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理和环境管理,需要的朋友可以参考下
    2023-11-11
  • Python采集二手车数据的超详细讲解

    Python采集二手车数据的超详细讲解

    这篇文章主要为大家介绍了Python采集二手车数据实现的超详细讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 一个入门级python爬虫教程详解

    一个入门级python爬虫教程详解

    这篇文章主要介绍了一个入门级python爬虫教程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Python3网络爬虫开发实战之极验滑动验证码的识别

    Python3网络爬虫开发实战之极验滑动验证码的识别

    本节我们的目标是用程序来识别并通过极验验证码的验证,其步骤有分析识别思路、识别缺口位置、生成滑块拖动路径,最后模拟实现滑块拼合通过验证。需要的朋友可以参考下
    2019-08-08
  • python去除删除数据中\u0000\u0001等unicode字符串的代码

    python去除删除数据中\u0000\u0001等unicode字符串的代码

    这篇文章主要介绍了python去除删除数据中\u0000\u0001等unicode字符串的代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 浅谈Python flask框架

    浅谈Python flask框架

    这篇文章主要介绍了Python flask框架,主要以对flask 微web框架优势特点、demo web应用程序程序步骤以及对flask模块中路由和模版两个功能进行基本了解。具有一定的参考价值,需要的朋友可以参考一下
    2021-11-11
  • python 实现Flask中返回图片流给前端展示

    python 实现Flask中返回图片流给前端展示

    今天小编就为大家分享一篇python 实现Flask中返回图片流给前端展示,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01

最新评论