第一步:查找出L(i)在L[1...i-1]中的插入位置k。 第二步:将L[k...i-1]中的所有元素全部后移一个位置。 第三步:将L(i)复制到L(k)。
public class Main { public static void main(String[] args) { int arr[] = {0, 4, 7, 6, 8, 5, 9}; InsertSort(arr); for (int a : arr) System.out.println(a); } //arr[0]只充当哨兵的作用,一个临时空间。 public static void InsertSort(int[] arr){ int i,j; for(i=2;i<=arr.length-1;i++){ if(arr[i]<arr[i-1]){ arr[0]=arr[i]; for(j=i-1;arr[0]<arr[j];j--) arr[j+1]=arr[j]; arr[j+1]=arr[0]; } } } }