插入排序—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");
		}
		
		
	}
相关推荐
CoovallyAIHub几秒前
200亿美元“反向收购雇佣”?老黄天价应对谷歌TPU压力
深度学习·算法·计算机视觉
oioihoii1 分钟前
C++多线程中join与detach机制深度解析
java·jvm·c++
落尘2982 分钟前
Catlass 模板库调试调优经验与踩坑记录
算法
雨中飘荡的记忆2 分钟前
深入理解 Guava EventBus:让你的系统解耦更优雅
java·后端
ytttr8733 分钟前
叠前同步反演纵波速度、横波速度和密度三参数
算法
uup3 分钟前
方法参数的 “值传递骗局”:修改引用参数为何不改变原对象?
java
TAEHENGV5 分钟前
外观设置模块 Cordova 与 OpenHarmony 混合开发实战
java·运维·服务器
Vic101018 分钟前
Spring AOP 高级陷阱:为什么 @Before 修改参数是“伪修改“?
java·python·spring
初圣魔门首席弟子11 分钟前
智能指针使用bug
c++·算法
Violet_YSWY14 分钟前
domain文件夹
java