package com.array; public class Sort_Insert { /* * 项目名称:插入排序 ; * 项目要求:用JAVA对数组进行排序,并运用插入排序算法; * 作者:Sevck; */ public void sort(int arr[]) { for (int i = 1; i < arr.length; i++) { int insertval = arr[i]; int index = i - 1; while (index >= 0 &&…
package Sort; import java.util.Arrays; public class InsertionSort { public static int[] sort(int[] list) { for (int i = 1; i < list.length; i++) { int x = list[i]; // 哨兵 int j = i; while (j > 0 && x < list[j - 1]) { list[j] = list[j - 1];…
插入排序的基本思想是在遍历数组的过程中,假设在序号 i 之前的元素即 [0..i-1] 都已经排好序,本趟需要找到 i 对应的元素 x 的正确位置 k ,并且在寻找这个位置 k 的过程中逐个将比较过的元素往后移一位,为元素 x “腾位置”,最后将 k 对应的元素值赋为 x ,插入排序也是根据排序的特性来命名的. 插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.其具体步骤参见代码及注释. 以下是一个实例,红色 标记的数字为插入的数字,被划掉的数…