/** *插入排序思路:O(n^2) * 最外层一个循环,从第二个数到最后一个,变量为i * 每个数存储在key变量中 * 变量j,是左边已经排好序的数组的上限 * 判断key与前面每一个数比较 1,3,5,2,4,6,8,5,9,10 * 《------- * 如果key小于前一个并且已经排好序的数组没有越界 * 调换两个数 * j向左移 * * 把key放在指定位置 j+1 * */ public class InsertSort { public static void insertSort(int[] resouceArr) { for(int i = 1 ; i < resouceArr.length ; i++ ) { int key = resouceArr[i] ; int j = i - 1 ; while( j > 0 && resouceArr[j] > key) { resouceArr[j+1] = resouceArr[j] ; j = j - 1 ; } resouceArr[j+1] = key ; } } }
本文深入讲解了插入排序算法的基本原理及实现过程。通过一个清晰的Java代码示例,详细介绍了如何利用插入排序对数组进行升序排列。文章首先定义了一个InsertSort类,并在其中实现了insertSort方法。该方法通过两层循环,将未排序部分的元素逐个插入到已排序部分的正确位置,从而完成整个数组的排序。

96

被折叠的 条评论
为什么被折叠?



