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的Flask框架的简介和安装方法
Nov 13 Python
详解python开发环境搭建
Dec 16 Python
在django中使用自定义标签实现分页功能
Jul 04 Python
Python读取sqlite数据库文件的方法分析
Aug 07 Python
python 异或加密字符串的实例
Oct 14 Python
PyTorch搭建多项式回归模型(三)
May 22 Python
python面向对象之类属性和类方法案例分析
Dec 30 Python
python json.dumps() json.dump()的区别详解
Jul 14 Python
Python logging自定义字段输出及打印颜色
Nov 30 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
Dec 11 Python
浅谈盘点5种基于Python生成的个性化语音方法
Feb 05 Python
python中if嵌套命令实例讲解
Feb 25 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中动态HTML的输出技术
2006/10/09 PHP
PHP制作百度词典查词采集器
2015/01/29 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
Django中的cookie与session操作实例代码
2017/08/17 PHP
js中的push和join方法使用介绍
2013/10/08 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
jquery实现点击label的同时触发文本框点击事件的方法
2015/06/05 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
Javascript之Math对象详解
2016/06/07 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
jquery实现数字输入框
2017/02/22 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
NodeJS加密解密及node-rsa加密解密用法详解
2018/10/12 NodeJs
jquery+css实现Tab栏切换的代码实例
2019/05/14 jQuery
vue实现多级菜单效果
2019/10/19 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
python版本的读写锁操作方法
2016/04/25 Python
python 实现自动远程登陆scp文件实例代码
2017/03/13 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
python regex库实例用法总结
2021/01/03 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
Spartoo瑞典:鞋子、包包和衣服
2018/09/15 全球购物
黑猩猩商店:The Chimp Store
2020/02/12 全球购物
写自荐信有哪些不宜?
2013/10/17 职场文书
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
教师的实习鉴定
2013/12/15 职场文书
科学发展观活动总结
2014/08/28 职场文书
委托证明模板
2014/09/16 职场文书
司考复习计划
2015/01/19 职场文书
项目经理岗位职责
2015/01/31 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
《传颂之物 虚伪的假面》BD发售宣传CM公开
2022/04/04 日漫