排序算法-插入排序

插入排序的思路
基本思路步骤:

初始状态: 将数组分为已排序部分和未排序部分。初始时,已排序部分只包含第一个元素,而未排序部分包含其余的元素。
逐步构建有序序列: 从未排序部分取出第一个元素,将其插入到已排序部分的正确位置,使得已排序部分仍然保持有序。
比较并移动: 将取出的元素与已排序部分的元素逐一比较,找到其正确的插入位置。为了插入,可能需要将比它大的元素依次向右移动,为新元素腾出插入的位置。
重复步骤 2-3: 重复以上步骤,每次取出未排序部分的一个元素,插入到已排序部分的正确位置。这样,已排序部分逐渐增加,未排序部分逐渐减小。
**直到排序完成:**重复上述过程,直到未排序部分为空,整个数组就被排序完成了。

插入排序代码

java 复制代码
public class Sort {
    //3.插入排序
    public static int[] inserSort(int... array){
        int i,j;
        for(i=1;i< array.length;i++){
            if(array[i]>=array[i-1]){
                continue;
            }
            int t=array[i];
            //
            for(j=i-1;j>=0&&array[j]>t;j--){
                array[j+1]=array[j];
            }
            array[j+1]=t;
        }
        return array;
    }

    public static void main(String[] args) {
        int[] a={94,54,52,36,17,4,9};
        System.out.println(Arrays.toString(inserSort(a)));
    }
}

结果展示

相关推荐
chuhx15 分钟前
Stream API 对两个 List 进行去重操作
数据结构·windows·list
元亓亓亓3 小时前
Java后端开发day36--源码解析:HashMap
java·开发语言·数据结构
酷ku的森4 小时前
数据结构:链表
数据结构·链表
何其有幸.5 小时前
实验3-3 比较大小(PTA|C语言)
c语言·数据结构·算法
丶Darling.6 小时前
26考研 | 王道 | 数据结构笔记博客总结
数据结构·笔记·考研
东阳马生架构6 小时前
Sentinel源码—8.限流算法和设计模式总结二
算法·设计模式·sentinel
老饼讲解-BP神经网络7 小时前
一篇入门之-评分卡变量分箱(卡方分箱、决策树分箱、KS分箱等)实操例子
算法·决策树·机器学习
何其有幸.7 小时前
实验6-3 使用函数求特殊a串数列和(PTA|C语言)
c语言·数据结构·算法
不会计算机的捞地7 小时前
【数据结构入门训练DAY-24】美国大选
数据结构·算法
明月看潮生8 小时前
青少年编程与数学 02-018 C++数据结构与算法 11课题、分治
c++·算法·青少年编程·编程与数学