python简单实现插入排序实例代码


Posted in Python onDecember 16, 2020

Python中会遇到很多关于排序的问题,今天小编就带给大家实现插入排序的方法。在Python中插入排序的基本原理类似于摸牌,将摸起来的牌插入到合适位置。具体实现请看本文。

基本原理

类似于摸牌,将摸起来的牌插入到合适位置。

代码:

# -*- 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)

易忘点和易错点

a. 不要忘记列表长度为1的情况。

b. 注意break的使用以及位置,是放在if语句下面,如果放到第二层for循环下,就会一直循环。

插入排序算法图

python简单实现插入排序实例代码

到此这篇关于python简单实现插入排序实例代码的文章就介绍到这了,更多相关python实现插入排序内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
跟老齐学Python之复习if语句
Oct 02 Python
使用PyV8在Python爬虫中执行js代码
Feb 16 Python
Python基于回溯法子集树模板解决全排列问题示例
Sep 07 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
Jul 16 Python
python使用phoenixdb操作hbase的方法示例
Feb 28 Python
详解Python做一个名片管理系统
Mar 14 Python
Pandas DataFrame中的tuple元素遍历的实现
Oct 23 Python
pytorch点乘与叉乘示例讲解
Dec 27 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
Mar 18 Python
paramiko使用tail实时获取服务器的日志输出详解
Dec 06 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
Dec 07 Python
requests在python中发送请求的实例讲解
Feb 17 Python
python中函数返回多个结果的实例方法
Dec 16 #Python
python的setattr函数实例用法
Dec 16 #Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
Dec 16 #Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
Dec 16 #Python
python unichr函数知识点总结
Dec 16 #Python
python 模拟登录B站的示例代码
Dec 15 #Python
python 模拟登陆163邮箱
Dec 15 #Python
You might like
php $_SERVER当前完整url的写法
2009/11/12 PHP
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
来自phpguru得Php Cache类源码
2010/04/15 PHP
linux iconv方法的使用
2011/10/01 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
js no-repeat写法 背景不重复
2009/03/18 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
2013/08/07 Javascript
两个数组去重的JS代码
2013/12/04 Javascript
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
Javascript核心读书有感之语句
2015/02/11 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
Node.js中的http请求客户端示例(request client)
2017/05/04 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
python email smtplib模块发送邮件代码实例
2018/04/26 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
python编写俄罗斯方块
2020/03/13 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
简单的大学生自我鉴定
2014/02/18 职场文书
巡警年度自我鉴定
2014/02/21 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
教师工作决心书
2015/02/04 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
亮剑观后感600字
2015/06/05 职场文书
催款函范文
2015/06/24 职场文书
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫