插入排序—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");
		}
		
		
	}
相关推荐
NiceCloud喜云6 分钟前
Anthropic 一周三连发:Cowork 多端、Fable 5 按需付费、J-space 论文的技术解读
java·服务器·网络·人工智能·ai
凉云生烟8 分钟前
机器学习 02- KNN算法
人工智能·算法·机器学习
wabs66610 分钟前
关于动态规划【力扣583.两个字符串的删除操作的思考】
算法·leetcode·动态规划
SamDeepThinking14 分钟前
组合还是继承?我在项目里主要看这两个判断
java·后端·面试
可编程芯片开发17 分钟前
空气流量和空气压力参数解耦系统simulink建模与仿真
算法
小小龙学IT18 分钟前
C++ 并发编程深度解析:从内存模型到无锁数据结构
数据结构·c++
momo23 分钟前
JAVA基础知识
java·开发语言
_Doubletful40 分钟前
妙用位运算:解构汉明距离至100%(提供分析与多解)
c语言·算法·leetcode
Keven_111 小时前
AcWing算法提高课思路速查:搜索
算法·搜索
就叫_这个吧1 小时前
Activiti7工作流入门+案例应用
java·activiti7·工作流