插入排序—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");
		}
		
		
	}
相关推荐
旺仔Sec7 分钟前
2025年广东省职业院校技能大赛高职组“区块链技术应用”竞赛试题(二)
java·区块链
Boop_wu20 分钟前
[Java EE] 多线程编程进阶
java·数据库·java-ee
ゞ 正在缓冲99%…35 分钟前
2025.9.28华为软开
算法·华为
w***375138 分钟前
SpringBoot【实用篇】- 测试
java·spring boot·后端
q***61411 小时前
Java实战:Spring Boot实现WebSocket实时通信
java·spring boot·websocket
9ilk1 小时前
【C++】 --- 哈希
c++·后端·算法·哈希算法
k***82511 小时前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos
2301_815686451 小时前
extern
java·开发语言
报错小能手1 小时前
数据结构 定长顺序表
数据结构·c++
q***56381 小时前
Java进阶-SPI机制
java·开发语言