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;
        }
    }
}

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

相关推荐
开开心心就好1 分钟前
视频伪装软件,.vsec格式批量伪装播放专用
java·linux·开发语言·网络·python·电脑·php
笨手笨脚の4 分钟前
深入理解 Java 虚拟机-02 对象
java·jvm·压缩指针·对象分配
Coder_Boy_4 分钟前
基于SpringAI的在线考试系统-数据库设计核心业务方案(微调)
java·数据库·人工智能·spring boot·领域驱动
yangminlei9 分钟前
Spring Boot 3 + Spring AI 实战:十分钟集成 OpenAI API 构建智能应用
java·openvino
是三好10 分钟前
java集合
java·开发语言
weixin_BYSJ198712 分钟前
django农作物批发交易系统--附源码24008
java·javascript·spring boot·python·django·flask·php
Knight_AL13 分钟前
Java + FFmpeg 实现视频分片合并(生成 list.txt 自动合并)
java·ffmpeg·音视频
Three~stone14 分钟前
Matlab R2024b 保姆级安装教程(附:解决win10问题)
开发语言·算法·matlab
ytttr87317 分钟前
基于MATLAB的一维对流扩散方程数值求解
开发语言·算法·matlab
空空kkk18 分钟前
SpringBoot整合Thymeleaf
java·spring boot·spring