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

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

相关推荐
北顾笙98013 小时前
day35-数据结构力扣
数据结构·算法·leetcode
z小天才b13 小时前
Java 设计模式完全指南:从入门到精通
java·开发语言·设计模式
cpp_250113 小时前
P2249 【深基13.例1】查找
数据结构·c++·算法·题解·二分·洛谷
烤麻辣烫13 小时前
算法--二分搜索
java·开发语言·学习·算法·intellij-idea
逍遥德13 小时前
MQTT教程详解-03. 高级知识点
java·物联网·中间件·信息与通信·iot·iotdb
Nice__J13 小时前
ISO26262功能安全——SafeOS
java·linux·安全
山甫aa14 小时前
二叉树算法-----从零开始的算法
数据结构·算法
夹芯饼干14 小时前
虚拟机指令第六节
java·linux·服务器
睡觉就不困鸭14 小时前
第十七天 翻转字符串里的单词
数据结构·算法·哈希算法·散列表
A_aspectJ14 小时前
【Java基础开发】基于 Java Swing +MySQL + JDBC 版实现图书管理系统
java·开发语言·mysql