Java直接插入排序法详解

TK 2020-09-22 11:04:31 java常见问答 5037

前面给大家介绍过了冒泡排序法、选择排序法等等,下面就来给大家讲一下java直接插入排序法,一起通过文章来进行了解吧。

来看一下基本思想:

将n个有序数存放在数组a中,要插入的数为x,首先确定x插在数组中的位置p,然后将p之后的元素都向后移一个位置,空出a(p),将x放入a(p),这样可实现插入x后仍然有序。

下面来看一个简单的例子:

通过直接插入的方法对例子中的number数组进行排序。

创建一个Test27 类文件,在main()方法中开始编码,实现代码:

public static void main(String[] args)
{
    int[] number = {
        13
        , 15
        , 24
        , 99
        , 4
        , 1
    };
    System.out.println("排序前:");
    for (int val: number)
    { // 遍历数组元素
        System.out.print(val + " "); // 输出数组元素
    }
    int temp, j;
    for (int i = 1; i < number.length; i++)
    {
        temp = number[i];
        for (j = i - 1; j >= 0 && number[j] > temp; j--)
        {
            number[j + 1] = number[j];
        }
        number[j + 1] = temp;
    }
    System.out.println("\n排序后:");
    for (int val: number)
    { // 遍历数组元素
        System.out.print(val + " "); // 输出数组元素
    }
}

在上面的代码当中,首先在控制台输出number数组中的元素,之后,通过for循环对数组当中的元素进行排序,最后再次输出排序后的元素,最终的输出结果:

排序前:
13 15 24 99 4 1
排序后:
1 4 13 15 24 99

你还想了解更多的相关java基础知识吗?请继续来奇Q工具网进行一下了解吧。

推荐阅读:

Java冒泡排序法详解

Java快速排序法详解

Java选择排序法详解