Java排序算法(三):插入排序

传送门:Java排序算法汇总篇,八种排序算法

插入排序思想

插入排序的基本思想是: 把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,在有序表中从后往前进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。

代码实现

复制代码
public class InsertSort1 {
    public static void main(String[] args) {
        int[] data = {1,1,2,8,4,2,1,6,4,8,6,9,2,1};
        sort(data);
        System.out.println(Arrays.toString(data));
    }

    public static void sort(int[] array){
        for (int i = 1; i < array.length; i++) {
            //temp取当前要插入的值
            int temp = array[i];
            //遍历temp前的值 大于temp就后移
            for (int j = i-1; j >=0; j--) {
                if(array[j]>temp){
                    //右移
                    array[j+1]=array[j];
                    array[j]=temp;
                }else {
                    break;
                }
            }
        }
    }
}
相关推荐
2601_962073977 小时前
苍穹外卖-day07(Spring Cache & 购物车业务逻辑)
java·后端·spring
顶点多余8 小时前
算法哪些事儿---2
java·开发语言
ZhouDevin8 小时前
算法论文/数据集5——AlignPrune(CVPR2026)基于样本损失时间序列精确识别噪声样本
算法
深入云栈8 小时前
CompleteFuture VS CompletableFuture:Netty 为何自研 Future
java·架构
choumou_M8 小时前
SpringBoot_7:用户资源的上传与修改
java·spring boot·后端
十铭忘9 小时前
HMM(隐马尔可夫模型)的理解7——Baum–Welch 算法
人工智能·算法
user_admin_god9 小时前
一体化数据归集接口详细设计说明
java·大数据·spring boot·后端·spring
明月_清风9 小时前
十大经典排序算法 Go 实现全解:从入门到面试通关
后端·算法·排序算法
LlmCraft|大模型工程实践9 小时前
08. Docker Compose 一键编排:多容器应用的指挥家
java·spring cloud·eureka
liliangcsdn9 小时前
如何对IC时间序列进行汇总统计分析示例
人工智能·算法·机器学习