排序系列 之 插入排序

  • !!!排序仅针对于数组哦
  • 本次排序是按照升序来的哦

介绍

  • 插入排序英文名为InsertSort

基本思路

  • 1、认为数组当中的第一个数值已经排好序了
  • 2、定义一个游标从第二个数值开始不断地向后进行遍历
  • 3、游标指向的数据插入已经排好序的数组中

代码

<!----java----->
public static void main(String[] args) {int[] arr={10,2,3,8,1,9};sort(arr);System.out.println(Arrays.toString(arr));}public static void sort(int[] arr){// 默认第一个已经排好序了,所以我们从第二个元素开始for(int i=1;i<arr.length;i++){// 定义游标j,依次从后往前遍历for(int j=i;j>0;j--){// 前一个数比当前数小,交换if(arr[j-1]>arr[j]){int temp = arr[j];arr[j] = arr[j-1];arr[j-1] = temp;}}}}<!------------------------>
运行结果;
[1, 2, 3, 8, 9, 10]
<!----python----->
def insertSort(arr):for i in range(1,len(arr)):for j in range(i,0,-1):if arr[j-1]>arr[j]:arr[j],arr[j-1] = arr[j-1],arr[j];print(arr)arr=[10,2,3,8,1,9];
insertSort(arr)
<!------------------------>
运行结果;
[1, 2, 3, 8, 9, 10]

老规矩,上图

在这里插入图片描述

复杂度

  • 时间复杂度为:O(n²)
  • 空间复杂度为:O(1)
  • 它是稳定排序,意味着相等元素的相对顺序在排序后保持不变。

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

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

相关文章

安卓自带camera hal3 实例README.md翻译

最近&#xff0c;遇到一个这样的问题&#xff0c;临时了解下这个驱动实现架构和特点&#xff0c;翻译如下 V4L2相机HALv3 camera.v4l2库使用视频Linux 2&#xff08;V4L2&#xff09;接口实现了camera HAL v3。这使得它在理论上可以与各种设备配合使用&#xff0c;尽管V4L2的…

Windows server漏洞解决

Windows server漏洞解决 一、SSL/TLS问题1、问题2、建议3、方法1)、winR运行&#xff1a;regedit&#xff0c;进入注册表。2&#xff09;、找到注册表3&#xff09;、在Ciphers新建五个项4&#xff09;、在每个新建文件加入值 二、Apache Tomcat问题1、问题2、下载 好家伙&…

国内从事双臂机器人的团队

一、背景 随着人形机器人的发展&#xff0c;双臂协同操作得到了越来越多研究人员的关注。我自己也是做双臂机器人方向的&#xff0c;虽然通过看论文或刷知乎了解到国内有许多团队在做双臂机器人方向&#xff0c;但还没有系统的整理过&#xff0c;因此趁这次机会&#xff0c;好…

Stripe web 支付语言设置

在两个地方都可以设置 VALUELOCALEELEMENTSCHECKOUTautoStripe detects the locale of the browser✔✔arArabic✔bgBulgarian (Bulgaria)✔✔csCzech (Czech Republic)✔✔daDanish (Denmark)✔✔deGerman (Germany)✔✔elGreek (Greece)✔✔enEnglish✔✔en-GBEnglish (Unit…

python的mixin设计模式

1.介绍 在 Python 中&#xff0c;mixin 是一种设计模式&#xff0c;它是一个包含了特定功能单元的类&#xff0c;这些功能可以被其他类组合利用&#xff0c;这些功能可以被其他类组合利用&#xff0c;以实现代码的复用和功能扩展。 mixin 类通常不被单独实例化&#xff0c;也不…

agv叉车slam定位精度测试标准化流程

相对定位精度 条件&#xff1a;1.5m/s最高速度&#xff1b;基于普通直行任务 数据采集&#xff08;3个不同位置的直行任务&#xff0c;每个任务直行约10m&#xff0c;每个10次&#xff09; 测量每次走过的实际距离&#xff0c;与每次根据定位结果算得的相对距离&#xff0c;两…

Python_封装和继承

封装 Python的封装是一种将数据&#xff08;属性&#xff09;和行为&#xff08;方法&#xff09;捆绑在一起的操作&#xff0c;以实现数据隐藏和抽象。 封装的目的是保护对象内部的数据不被外部直接访问和修改&#xff0c;同时提供接口与外界交互。 私有属性&#xff1a;在…

ES6 数组的扩展(十六)

1. Array.from() 特性&#xff1a;从类数组对象或可迭代对象中创建一个新的数组实例。 用法&#xff1a;将类数组对象或可迭代对象转换为数组。 const likeArray { 0: a, 1: b, length: 2 }; const arr Array.from(likeArray); console.log(arr); // 输出&#xff1a;[a, b…

C#数字医学影像系统(RIS/PACS)源码,Oracle数据库,C/S架构,运行稳定

数字医学影像系统&#xff08;RIS/PACS&#xff09;源码&#xff0c;三甲以下的医院都能满足。PACS 系统全套成品源码。 开发技术&#xff1a;C/S架构&#xff0c;C#开发语言&#xff0c;数据库服务器采用Oracle数据库。 医学影像存储与传输系统&#xff0c;融合了医学信息化…

算法-经典递归解决排列组合

文章目录 前言1. 获取字符串的所有字串2. 数组的子集(无重复)3. 数组的子集(有重复)4. 字符大小写全排列5. 全排列(无重复)6. 全排列(有重复) 前言 如何正确的处理递归 所有的递归都分为带路径的递归和不带路径的递归, 我们之前学二叉树的时候基本上都是带路径的递归, 所有的递…

HBuilder x 使用Git管理项目,配合easy-git插件管理项目代码配置git和推送/拉取使用教程

文章目录 目录 文章目录 使用流程 小结 概要安装流程技术细节小结 概要 克隆/拉取项目代码到本地电脑教程 HBuilder x 使用Git管理项目&#xff0c;配合easy-git插件 克隆项目代码到本地教程-CSDN博客 电脑环境已安装好Hbuilder x工具 如果没有安装可以参考以下先安装好Hbui…

MATLAB6:M文件和控制流

文章目录 一、实验目的二、实验内容三、仿真结果四、实践中遇到的问题及解决方法 一、实验目的 1. 熟悉运用MATLAB的控制指令。   2. 理解M脚本文件和函数文件的本质区别。   3. 能够运用所学知识&#xff0c;编制程序解决一般的计算问题。 二、实验内容 1.for循环结构及注…

银发经济发展需要什么支持

随着社会老龄化的加剧&#xff0c;“银发经济”应运而生&#xff0c;成为社会发展的新动向。银发经济指的是针对老年人群体的经济活动&#xff0c;包括健康护理、休闲旅游、教育文化等多方面内容。这一现象不仅体现了社会对老年群体的关注和尊重&#xff0c;同时也为经济发展提…

python selenium4 EdgeDriver动态页面爬取

截止至2024.7.16 chrome浏览器最新版本为126.0.6478.127 但对应的chromeDriver版本都低于此版本&#xff0c;因此&#xff0c;转用Edge浏览器 说明&#xff1a;仅记录自己使用过程中用到的一些代码和感受&#xff0c;看具体情况不定期更新。 selenium官方文档 1、安装selen…

qt 6.7 版本 ,QStackedLayout布局中添两个QWidget,每个QWidget都有一个按钮,点击后分别显示另一个布局

1.代码 在Qt 6.7中&#xff0c;如果你想要将QStackedLayout布局中包含两个QWidget&#xff0c;并且每个QWidget都有一个按钮&#xff0c;点击按钮后显示另一个布局&#xff0c;同时希望将头文件&#xff08;.h&#xff09;和源文件&#xff08;.cpp&#xff09;分开&#xff0…

Python基础:register buffer

模型保存下来的参数有两种&#xff1a;需要更新的 Parameter &#xff0c;与是不需要更新的 buffer 。 在模型中&#xff0c;利用backward反向传播&#xff0c;可以通讨requires_grad来得到 buffer 和 parameter 的梯度信息&#xff0c;但是利用 optimizer 进行更新的是 parame…

Apache httpd-vhosts.conf 配置详解(附Demo)

目录 前言1. 基本配置2. http和https3. 重定向和代理配置4. 实战前言 Nginx的相关配置推荐阅读:Nginx将https重定向为http进行访问的配置(附Demo) 1. 基本配置 httpd-vhosts.conf 是 Apache HTTP Server 配置虚拟主机(Virtual Hosts)的文件 虚拟主机允许在一台服务器上…

HarmonyOS NEXT零基础入门到实战-第一部分

构建节页面思路&#xff1a; 1、排版 (分析布局) 2、内容&#xff08;基础组件&#xff09; 3、美化&#xff08;属性方法&#xff09; 设计资源-svg图标 界面中展示图标 ->可以使用svg图标&#xff08;任意放大缩小不失真&#xff0c;可以改颜色&#xff09; 使用方式&a…

重磅活动推荐:2024 CLK 大会启动中,承办单位开放报名

中国 Linux 内核开发者大会&#xff08;简称“CLK 大会”&#xff09;是中国 Linux 内核领域最具影响力的峰会之一&#xff0c;由清华大学、英特尔、富士通南大、IBM、阿里云、华为、腾讯等企业支持主办。大会秉承“自由、协作、创新”理念&#xff0c;以推动和普及开源技术为使…

java中Hashcode的作用【详解版】

一 HashCode作用 1.1 HashCode作用 hashCode是object类的一个方法&#xff0c;用于哈希表结构&#xff0c;主要是用来获取哈希值&#xff0c;用于确定对象在哈希表中的位置&#xff0c;如果两个对象的hashcode相同&#xff0c;那么他们可能被放在哈希表同一个位置(这取决于哈…