插入排序—Java

插入排序

基本思想 :

  • 实现数组从小到大排
  • 从第二个数开始跟前面的数比较 找到合适的位置插入 后面的数往后推移 但推移不会超过原来插入的数的下标

代码实现

java 复制代码
public static void InsertSort(int[] arr) {
		for(int i = 1;i<arr.length;i++) {//从1开始是因为要和前面的数有一个比较的过程
			int InsertIndex=i-1;//要插入的理想目的地
			int Insertvalue= arr[i];
			while (InsertIndex>=0&&Insertvalue<arr[InsertIndex]) {
				//insertindex后移动一位
				arr[InsertIndex+1]=arr[InsertIndex];
				InsertIndex--;
				//一直在减去,所以while结束后代表找到
				//后面要加还给他,代表找到的那个位置
			}
		//
			if(InsertIndex+1!=i) {
				//+1代表找的那个位置
				arr[Insertvalue+1]=Insertvalue;
			}
		}
		for(int i = 0;i<arr.length;i++) {
			System.out.print(arr[i]+"\t");
		}
		
		
	}
相关推荐
jimy18 分钟前
C语言实现-----面向对象编程
c语言·数据结构
Kethy__12 分钟前
计算机中级-数据库系统工程师-数据结构-树与二叉树(2)
数据结构·数据库·软考··计算机中级
黎阳之光13 分钟前
数智技术如何赋能空天地一体化,领跑低空经济新赛道
大数据·人工智能·算法·安全·数字孪生
東雪木14 分钟前
Java学习——一访问修饰符(public/protected/default/private)的权限控制本质
java·开发语言·学习·java面试
两点王爷35 分钟前
docker 创建和使用存储卷相关内容
java·docker·容器
boonya38 分钟前
Embedding模型与向量维度动态切换完整方案
java·数据库·embedding·动态切换大模型
宁波阿成1 小时前
族谱管理系统架构分析与亮点总结
java·系统架构·vue·ruoyi-vue·族谱
Dr.F.Arthur1 小时前
我的算法笔记——哈希表篇
数据结构·笔记·散列表
小肝一下1 小时前
每日两道力扣,day2
c++·算法·leetcode·职场和发展
姬成韶1 小时前
BUUCTF--[RoarCTF 2019]Easy Java
java·网络安全