/** *插入排序思路: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 ; } } }
相关文章
- 计算机软考中级 知识点记忆——排序算法 冒泡排序-插入排序- 归并排序等 各种排序算法知识点整理
- 排序算法-插入排序-初始状态: 将数组分为已排序部分和未排序部分。初始时,已排序部分只包含第一个元素,而未排序部分包含其余的元素。逐步构建有序序列: 从未排序部分取出第一个元素,将其插入到已排序部分的正确位置,使得已排序部分仍然保持有序。比较并移动: 将取出的元素与已排序部分的元素逐一比较,找到其正确的插入位置。为了插入,可能需要将比它大的元素依次向右移动,为新元素腾出插入的位置。重复步骤 2-3: 重复以上步骤,每次取出未排序部分的一个元素,插入到已排序部分的正确位置。这样,已排序部分逐渐增加,未排序部分逐渐减小。直到排序完成: 重复上述过程,直到未排序部分为空,整个数组就被排序完成了。 插入排序代码
- 数据结构之 折半插入排序(算法思想、代码实现)
- java基础算法之插入排序
- 《算法4》2.1 - 插入排序算法(Insertion Sort), Python实现
- 数据结构与算法之PHP排序算法(插入排序)
- 算法Sedgewick第四版-第1章基础-2.1Elementary Sortss-002插入排序法(Insertion sort)
- lowB三人组算法-冒泡排序-选择排序-插入排序
- php基础排序算法 冒泡排序 选择排序 插入排序 归并排序 快速排序
- python算法之插入排序