java实现插入排序

图解

以下是Java实现插入排序的代码:

java 复制代码
public class InsertionSort {
    public static void main(String[] args) {
        int[] arr = {5, 2, 4, 6, 1, 3};
        insertionSort(arr);
        System.out.println(Arrays.toString(arr)); // output: [1, 2, 3, 4, 5, 6]
    }

    public static void insertionSort(int[] arr) {
        int n = arr.length;
        for (int i = 1; i < n; i++) {
            int key = arr[i];
            int j = i - 1;
            while (j >= 0 && arr[j] > key) {
                arr[j + 1] = arr[j];
                j--;
            }
            arr[j + 1] = key;
        }
    }
}

在插入排序中,我们从第二个元素开始,将其与已排序好的子数组中的元素进行比较,并将其插入到合适的位置中。在这个过程中,我们需要不断地向前移动已排序好的子数组中的元素,以为这个新的元素腾出位置。

相关推荐
专注前端30年几秒前
【Java微服务架构】Spring Cloud Alibaba全家桶实战:Nacos+Sentinel+Seata+分布式事务
java·微服务·架构
We་ct6 分钟前
LeetCode 226. 翻转二叉树:两种解法(递归+迭代)详解
前端·算法·leetcode·链表·typescript
苏渡苇7 分钟前
轻量化AI落地:Java + Spring Boot 实现设备异常预判
java·人工智能·spring boot·后端·网络协议·tcp/ip·spring
大熊背8 分钟前
APEX系统中为什么 不用与EV0的差值计算曝光参数调整量
人工智能·算法·apex·自动曝光
REDcker11 分钟前
HDR Vivid 技术介绍
数据库·算法·视频·sdr·屏幕·显示技术·dhr
ab15151714 分钟前
2.18完成109、112、113
算法
追随者永远是胜利者42 分钟前
(LeetCode-Hot100)64. 最小路径和
java·算法·leetcode·职场和发展·go
汉克老师1 小时前
GESP2024年6月认证C++二级( 第三部分编程题(1) 平方之和)
c++·算法·预处理·完全平方数·循环结构·gesp二级·gesp2级
云深处@1 小时前
【题】每日一题
算法
学习是生活的调味剂1 小时前
nacos原理之服务注册浅析
java·开发语言·nacos·注册中心