首页 > 编程语言 >python实现插入排序算法

python实现插入排序算法

时间:2024-09-14 22:25:03浏览次数:11  
标签:15 temp 前面 python 插入排序 算法 data 比较

插入排序是指,在已经排序过的列表,将需要添加的数据从开头依次进行比较,找到保存的位置,并将数据进行插入排序的方法。

比如列表

6,15,4,2,8,5,11,9,7,13

第一步6和15比较,15大,不用比较。

第二步 4和前面两个数比较,就是6和15,4最小,将4插入到最前面。

编程语言如何实现这个过程,将4和前面两个数比较。

首先将4存储到一个临时变量,变量起名叫temp。

第二步将4和前面的15比较,如果15比4大,将原来4的位置的数由4变为15

第三步,将6和4比较,4小,将6的位置移到第二位

第四步,将4放到第一位

python代码如下

#选择排序法

#设置要排序的数组
data = [6,15,4,2,8,5,11,9,7,13]

#选择排序法
for i in range(1,len(data)):
    temp=data[i] #把要比较的值存入临时变量temp
    j=i-1         #循环变量j从i回退
    while (j>=0) and (data[j]>temp):
        data[j+1]=data[j]  #元素分别往后移一位
        j-=1
    data[j+1] = temp
    
print(data)       

插入排序从前面代码可以看到首先将要比较的数不断存到临时变量里,这是一层循环,将要比较的数和前面的数比较是第二层循环,算法时间复杂度是O(n^2),空间复杂度是O(1)

 

标签:15,temp,前面,python,插入排序,算法,data,比较
From: https://blog.csdn.net/2301_81968528/article/details/142150306

相关文章

  • Python基础入门1
    1.注释和标识符print("helloworld")#单行注释以#开头'''多行注释三个引号开头,三个引号结尾,可以是单引号或者双引号''''''标识符:主要指作为:变量、函数、类模块以及其他对象的名称。1.有数字,下划线,字母组成,但是数字不能开头2.区分大小写3.不能使用关键字(报错了直......
  • python 自动化运维
    Python 是一种动态的高级编程语言,语法非常简洁,初学者很容易上手。Python 语言表达力非常强大,三两行代码即可完成其他编程语言可能要写几十上百行的功能,开发效率非常高。因此,它经常作为胶水式语言,在自动化运维等开发领域大显身手。语法简洁,易于学习表达力强大,开发效率高执行效率不......
  • 算法工程师重生之第二天(长度最小的子数组 螺旋矩阵II 区间和 开发商购买土地 总结 )
    参考文献代码随想录一、长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl,numsl+1,...,numsr-1,numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。示......
  • python+flask计算机毕业设计基于数据加密的高校奖学金评定系统的设计与实现(程序+开题+
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高校规模的不断扩大和学生数量的激增,奖学金评定工作逐渐成为一项复杂而繁重的任务。传统的奖学金评定方式往往依赖于人工收集、整理和......
  • python+flask计算机毕业设计基于物联网的湖区水质监测系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着工业化进程的加快和人口密度的增加,湖泊作为重要的自然资源,其水质状况日益受到关注。水质污染不仅威胁着水生生物的生存,还直接影响到人......
  • python+flask计算机毕业设计民宿管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着旅游业的蓬勃发展和消费者对个性化住宿体验需求的日益增长,民宿作为一种新兴的住宿方式,在全球范围内迅速崛起。传统酒店已难以满足旅行......
  • ruby和python哪个好学
    Ruby和python都挺好学的。建议学习Python,语法的话,Python相对更简洁。而且Python应用场合更广泛,运维、网站开发、数据处理、科学研究都可以。Ruby和Python十分相似,有很多共同点,但也有一些不同之外,以下是Python和Ruby的对比:1、Python和Ruby都是面向对象的语言,都是动态和灵活......
  • python做游戏好用吗
    Python做游戏是完全可以的,而且也非常简单,有一个专门针对游戏开发的平台(模块)—pygame,允许开发人员快速设计游戏而又摆脱了低级语言的束缚,下面我简单介绍一下这个模块的安装和使用:1、首先,安装pygame模块,这个直接在cmd窗口中输入命令“pipinstallpygame”就行,如下,很快就能安......
  • 高级 Python Web 应用中的身份验证与授权机制解析
    高级PythonWeb应用中的身份验证与授权机制解析目录......
  • 《在 Windows 系统中配置 Python 3.11 环境安装教程》
    一、引言Python是一种广泛使用的高级编程语言,具有简洁易读、可扩展性强等优点。Python3.11是Python的一个重要版本,带来了许多新的特性和改进。本文将详细介绍在Windows系统中配置Python3.11环境的步骤,帮助读者快速搭建开发环境。二、安装前的准备(一)确认系统要......