排序算法 -- (一)直接插入排序

本文介绍Java中的直接插入排序算法,包括其基本原理、排序过程及具体实现方式,并提供了一个简单的测试示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java中 排序算法是经常会遇到的,回顾一下

这里写图片描述


(一)直接插入排序


直接插入排序:
就是把新的数据插入到已经排好的数据列中


1、原理


1、将第一个数和第二个数排序,然后构成一个有序序列
2、将第三个数插入进去,构成一个新的有序序列。
3、对第四个数、第五个数……直到最后一个数,重复第二步。

2、过程

这里写图片描述


3、代码实现

java实现


public class InsertSort {

    /* 直接插入排序(默认从小到大排序) */
    public static void sort2(int[] arr) {

        // 数组总长度
        int n = arr.length;

        // 当前要插入的数
        int insertNum;

        for (int i = 1; i < n ; i++) {

            insertNum = arr[i];// 当前要插入的数
            int j = i;

            // 如果要插入的数小于前面的数,则前面的数往后移;否则就结束本次插入(因为前面的数都是有序)
            for (j = i; j > 0 && insertNum < arr[j - 1]; j--) {
                arr[j] = arr[j - 1];
            }

            arr[j] = insertNum; // 空出来的数
        }

    }

4、测试结果

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天涯共明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值