python插入排序算法详解-面试常考

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

原理

插入排序即将数据从后向前比较,找到相应的位置进行插入,
时间复杂度为O(n^2)。

举例说明

[3,4,6, 5, 9,7]

第一次排序:在位置1上的元素4,可将前面的1个元素看为一个有序序列,4比前面的数大,位置不变
[3,4,6, 5, 9,7]
第二次排序:在位置2上的元素6,可将前面的2个元素看为一个有序序列,6比前面的数大,位置不变
[3,4,6, 5, 9,7]
第三次排序:在位置3上的元素5,可将前面的3个元素看为一个有序序列,5比前面的6小,将5插入到4和6之间
[3,4,6, 5, 9,7]
[3,4,5, 6, 9,7]
第四次排序:在位置4上的元素9,可将前面的4个元素看为一个有序序列,比前面的数大,位置不变
[3,4,5, 6, 9,7]
第五次排序:在位置5上的元素7,可将前面的5个元素看为一个有序序列,7比前面的9小,将7插入到6余9之间
[3,4,5, 6, 9,7]
[3,4,5, 6, 7,9]

代码

#coding=utf-8def insert_sort(insert_list):for i in range(1, len(insert_list)):while i>0:if insert_list[i] < insert_list[i-1]: #如果一个数i小于它前面的那个数insert_list[i], insert_list[i-1] = insert_list[i-1], insert_list[i] #调换位置i -=1else:breakreturn insert_list
a = insert_sort([3,4,6,5,9,7])
print(a)

运行结果
在这里插入图片描述

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Mysql中count(*)、count(1)与count(字段/列名)的详解—聚合函数count

目录一、简单区别二、效率比较三、举例3.1创建表3.1.1利用count(*)进行统计所有行的数目3.1.2利用count(1)进行统计所有行的数目3.1.3利用count(字段/列名)进行统计sname字段的的数目https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号…

Python二分查找/折半查找算法详解--(面试常考)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 二分查找也称折半查找&#xff08;Binary Search&#xff…

用python打印出各类三角形(正三角形、倒三角形、左上角左下角三角形、右上角右下角三角形)

目录正三角形倒三角形左上角三角形左下角三角形右上角三角形右下角三角形https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究…

pip不是内部或外部命令,也不是可运行的程序 或批处理文件--解决办法

1.因为pip.exe在Scripts下&#xff0c;所以需要将python的Scripts的路径复制。 2.单击此电脑右键–>点击属性 3.高级系统设置–>环境变量–>点击path&#xff0c;如果没有path就新建一个&#xff0c;如果有的话就直接编辑&#xff0c;将刚刚路径复制过来&#xff0c;注…

WARNING: You are using pip version 19.2.3, however version 20.1.1 is available. You should consi解决办法

如果我们遇见了这种情况 原因&#xff1a;使用的是pip版本19.2.3&#xff0c;但版本20.1.1可用。 应该考虑通过“python-m pip install–upgrade pip”命令进行升级。 解决办法&#xff1a; 输入代码 python -m pip install --upgrade pip运行结果 成功升级&#xff01; ht…

TypeError: rose() takes 0 positional arguments but 1 was given--python报错

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行&#xff01; 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xf…

Python中过滤序列内置函数filter()的详解(常用)

目录一、功能二、语法三、举例3.1代码3.2运行结果一、功能 用于过滤序列&#xff0c;过滤掉不符合条件的元素&#xff0c;返回一个迭代器对象&#xff0c;如果要转换为列表&#xff0c;可以使用 list() 来转换。 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&am…

(python3.8)pygraphviz的下载安装配置(在python下)最新

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 首先安装graphviz 下载地址&#xff1a;https://graphviz…

function lambda at 0x000001B60A213F70 (python运行结果显示)

显示情况 <function <lambda> at 0x000001B60A213F70> 代码 b lambda a, b: a*b(1, 2)print(b)报错原因 因为函数优先级&#xff0c;如果在表达式后面直接加&#xff08;&#xff09;的话就容易报错&#xff0c;表达式要先执行&#xff0c;所有要在表达式外面…

ValueError: Program dot not found in path.python下运行pygraphviz出现报错

运行python时出现报错 使用百度翻译&#xff0c;翻译结果&#xff1a; 值错误&#xff1a;在路径中找不到程序点。 这就说明是路径错误 解决办法&#xff1a; 将C:\Program Files (x86)\Graphviz2.38\bin添加到环境变量当中去 之后再运行&#xff0c;ValueError: Program d…

哈夫曼树(Huffman Tree)的介绍、画法、哈夫曼树的可视化显示(Python代码实现)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 目录一、概念二、带权路径长度三、树的带权路径长度四、举…

Mysql的多表查询(表添加,多表查询练习:笛卡尔积、内连接、外连接、子查询、UNION组合查询)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 目录一、表的创建1.1创建学生表student_one1.2创建教师表t…

Mysql的IF()函数:如果返回True值,返回第一个值,为False值,返回第二个值

IF函数定义 语法 IF(condition, A, B)如果condition为TRUE值&#xff0c;就返回A&#xff0c;如果condition为FALSE值&#xff0c;就返回B。 举例 添加表 create table teacher_one ( tno varchar(20) not null primary key, tname varchar(20) not null, tsex varchar(20…

msyql的FORMAT()函数设置小数位数,将小数位数保留到小数点后第n位,最后一位四舍五入

FORMAT()函数 在mysql的查询中&#xff0c;如果我们输入的是小数类型&#xff0c;而保留几位小数因情况而变&#xff0c;我们可以用FORMAT&#xff08;&#xff09;函数来设置想保留的几位小数。即将数据内容格式化&#xff0c;将数据格式化为整数或者带几位小数的浮点数&#…

import win32com.client在python中报错及其解决办法

在调用import win32com.client的时候出现下面的报错情况 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; …

python怎么安装pandas详细步骤

1.打开cmd&#xff0c;输入 pip install pandas如果pip没有添加到系统变量中去&#xff0c;会出现报错。 具体解决办法参照&#xff1a; https://blog.csdn.net/hanhanwanghaha/article/details/106445654 如图表示已经安装好了pandas 检验&#xff1a; 我们在python中导包…

ping 不是内部或外部命令,也不是可运行的程序 或批处理文件。的解决办法

我们在ping检测网络的时候出现以下报错&#xff1a; ‘ping’ 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝…

(原码反码补码的计算)在一个8位的二进制的机器中,补码表示的整数范围是从_(1)_(小)到_(2)_(大)。这两个数在机器中的补码表示为_(3)_(小)到_(4)_(大)。数0的补码为_(5)_。

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 目录题目分析过程补充&#xff08;反码、补码及进制转换&a…

实用一位加法电路-全加器(全加器真值表、全加器的逻辑组合电路)、几种基本组合逻辑电路真值表 补充:逻辑电路基础:与门、或门、非门----计算机组成原理

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 目录一、全加器的真值表二、全加器逻辑组合电路的构建三、…

Connected to the target VM, address: ‘127.0.0.1:0‘, transport: ‘socket‘ Disconnected from the target

报错情况&#xff1a; 翻译过来是&#xff1a; 已连接到目标VM&#xff0c;地址&#xff1a;“127.0.0.1:0”&#xff0c;传输&#xff1a;“socket”已断开与目标VM的连接&#xff0c;地址&#xff1a;“127.0.0.1:0”&#xff0c;传输&#xff1a;“socket” 在网上找了很多…