本文主要是介绍[JDK17]插入排序实现原理以及代码实现(详细图解),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
插入排序实现原理:
完整代码(JDK17):
package SortAlgorithm.InsertSort;import SortAlgorithm.SelectSort.SelectSort;import java.util.Arrays;public class InsertSort {public static void main(String[] args) {int[] arr = {50,60,10,80,30};System.out.println("原数组: "+ Arrays.toString(arr));insertSort(arr);System.out.println("排序后: "+ Arrays.toString(arr));}/*** 插入排序* @param arr*/public static void insertSort(int[] arr) {for (int i = 1; i < arr.length; i++) {// i记录无序表第一个元素的索引,向后遍历// insertVal记录无序表第一个元素的值int insertVal = arr[i];// j记录有序表最后一个元素的索引,向前遍历int j;for (j = i - 1; j >= 0; j--) {if (arr[j] > insertVal){//有序表最后一个元素大于无序表第一个元素,把有序表最后一个元素后移arr[j + 1] = arr[j];}else{//无序表元素小于等于有序表元素,说明已经找到合适的插入位置(当前遍历有序表位置的后一个位置j+1),停止遍历break;}}//有序表遍历完成,将无序表第一个元素插入合适的有序表位置if (j+1 !=i) arr[j+1] = insertVal;}}}
测试图:
这篇关于[JDK17]插入排序实现原理以及代码实现(详细图解)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!