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