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;
                }
            }
        }
    }
}
相关推荐
ROBIN__dyc2 分钟前
表达式
算法
无限大.3 分钟前
c语言200例 067
java·c语言·开发语言
余炜yw5 分钟前
【Java序列化器】Java 中常用序列化器的探索与实践
java·开发语言
攸攸太上5 分钟前
JMeter学习
java·后端·学习·jmeter·微服务
无限大.6 分钟前
c语言实例
c语言·数据结构·算法
Kenny.志8 分钟前
2、Spring Boot 3.x 集成 Feign
java·spring boot·后端
六点半88810 分钟前
【C++】速通涉及 “vector” 的经典OJ编程题
开发语言·c++·算法·青少年编程·推荐算法
不修×蝙蝠10 分钟前
八大排序--01冒泡排序
java
@haihi18 分钟前
冒泡排序,插入排序,快速排序,选择排序
数据结构·算法·排序算法
quaer21 分钟前
Open-Sora全面开源?
开发语言·算法·机器学习·matlab·矩阵