直接插入排序

embedded/2025/2/9 8:55:16/

一:直接插入排序是什么。

二:如何实现直接插入排序

三:直接插入排序时间复杂度

一:直接插入排序它是排序得一种,其目的无非是将乱序通过排序排成有序的。

我们可以通过动画直观看什么是直接插入排序

这是我找的直接插入排序的动画,大家务必观看,有助于理解直接插入排序

【插入排序动画演示】

https://www.bilibili.com/video/BV1er4y1b7o4?vd_source=82192e4b91182780b22eaffdea08406c

二:实现直接插入排序

这里我是利用画图,来模拟实现直接插入排序

我在这描述一下直接插入排序如何实现:比如一共有6个无序的数,给他进行直接插入排序。

它是先让end从左到右遍历(用下标i控制),tmp存储end+1(end后面一个的值)。如果end对应的值大于tmp,就把end的值挪到tmp位置。然后让end--(end位置往前挪一位),然后让tmp挪到end+1的位置(end挪动之前的位置)。然后i++,让end遍历,走到第二个位置,让end的下一个位置上的数给给tmp,在和end的值比较,tmp小于end,end的值往后挪,然后让tmp再和第一个位置的数比,tmp小于它,第一个再往后挪,否则第一个数不动,接着让tmp挪到第一个或者第二个位置上。end遍历到第三个数,end和它后面一个数比较,大于end往后挪,end的前面的数依次和tmp比,大了往后挪,否则数字位置不动。再就是一直重复以上过程直至end取到第五个数结束(因为end取第六个数,后面没有数字给它排序的了)。

提炼:直接插入排序是让当前的数x跟它的下一个数tmp比较,x大,x往后挪一位呗。然后是再让

tmp依次和x之前的数比,tmp小,x之前的数往后挪,否则该数的位置不动。

下头是代码

测试一下


http://www.ppmy.cn/embedded/160765.html

相关文章

leetcode 1905. 统计子岛屿

题目如下 数据范围 示例 本题只要在遍历图二岛屿的时候检查图一对应位置是否是陆地即可。通过代码 class Solution { public:bool su true;int countSubIslands(vector<vector<int>>& grid1, vector<vector<int>>& grid2) {int n grid1.…

(免费送源码)计算机毕业设计原创定制:C#+Asp.Net+SQL Server C#(asp.net)大学生创新创业项目管理系统

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;高校当然也不例外。大学生创新创业项目管理系统是以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#…

书籍《新能源汽车动力电池安全管理算法设计》和《动力电池管理系统核心算法》脑图笔记

目录 一、阅读背景二、《新能源汽车动力电池安全管理算法设计》脑图笔记三、《动力电池管理系统核心算法》脑图笔记四、后记参考学习 一、阅读背景 如今身处新能源动力电池行业&#xff0c;欲对动力电池相关算法做一些了解&#xff0c;通过查找相关电子书app&#xff0c;最后找…

CSS Position(定位)详解及举例说明

在CSS中&#xff0c;position属性用于指定元素的定位类型。通过设置不同的position值&#xff0c;我们可以控制元素在页面中的布局方式。position属性有五个常用的值&#xff1a;static、relative、fixed、absolute和sticky。本文将详细介绍这五种定位方式&#xff0c;并通过实…

react的antd表单校验,禁止输入空格并触发校验提示

首先需要用到form组件&#xff0c;在form.item内添加rules属性&#xff0c;写正则表达式 <Form.Itemlabel"员工姓名"name"name"rules{[{ required: true, message: 员工姓名 },{ pattern: /^(?!\s*$).$/, message: 不能全是空格 },]}> <Input p…

Bash (Bourne-Again Shell)、Zsh (Z Shell)

文章目录 1. 历史背景2. 主要区别3. 功能对比自动补全插件和主题路径扩展提示符定制 4. 性能5. 使用场景6. 如何切换 Shell7. 总结 以下是 Bash 和 Zsh 之间的主要区别&#xff0c;列成表格方便对比&#xff1a; 特性BashZsh默认Shell大多数Linux发行版默认ShellmacOS默认She…

6 maven工具的使用、maven项目中使用日志

文章目录 前言一、maven&#xff1a;一款管理和构建java项目的工具1 基本概念2 maven的安装与配置&#xff08;1&#xff09;maven的安装&#xff08;2&#xff09;IDEA集成Maven配置当前项目工程设置 maven全局设置 &#xff08;3&#xff09;创建一个maven项目 3 pom.xml文件…

基于知乎平台的“开源AI智能名片2 + 1链动模式S2B2C商城小程序”引流策略研究

摘要&#xff1a;本文聚焦于如何借助知乎平台的高权重及优质用户特性&#xff0c;对“开源AI智能名片2 1链动模式S2B2C商城小程序”进行有效引流。通过深入分析知乎平台的用户特点、引流规则&#xff0c;并结合具体的引流方法&#xff0c;旨在为相关项目在知乎平台实现高效用户…