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 分钟前
C语言排序问题详解:从冒泡到快排的完整指南
c语言·算法·排序算法
星间都市山脉2 分钟前
RecoveryUI 圆角屏安全边距配置及代码调用链
android·java·linux·windows·ubuntu
sunshine22 girl5 分钟前
Java学习五 面向对象高级5 内部类4-匿名内部类(重点)
java·学习
l1t8 分钟前
DeepSeek总结的PIVCO-Huffman编码性能优化
数据结构·c++·算法
java_nnnn9 分钟前
Spring Boot 快速上手:从 Maven 到第一个 Controller
java·spring·java-ee·maven
夕除14 分钟前
redis--集群
java·redis
蜗牛互联网14 分钟前
OLMo-core 3的token gerrymandering提醒:MoE路由要按时间窗验收
java·人工智能·wpf
-dzk-18 分钟前
【贪心算法】LC 763.划分字母区间
算法·贪心算法
奇牙coding18 分钟前
Codex C接 配置教程:的 字段从迁移时必须写完整后缀,填旧值或省略 会静默回退默认模型
java·c语言·数据库·ai
拾饵94224 分钟前
第六周第二节那个RAG工业项目遇到的问题
算法