前面给大家介绍过了冒泡排序法、选择排序法等等,下面就来给大家讲一下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
{
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工具网进行一下了解吧。
推荐阅读: