思路1、从数组的第二个元素开始比较,及一开始用用第二个元素和第一个元素进行比较,如果复合条件,就交换它们的位置2、然后那第三个和第二个进行比较,复合则交换位置,但是此处还得继续往前进行比较,知道不符合条件3、重复步骤二,直到所有数据全部排序完毕
public static void insert_sort1(int arr[]) { for (int i = 1; i 0) { //见后面的元素和前面的元素进行比较 //若符合,交换位置 if (arr[j] < arr[j - 1]) { int temp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = temp; j--; } else { //不符合,跳出循环 break; } } }}
public static void insert_sort2(int arr[]) { for (int i = 1; i = 0; j--) { if (arr[j] > value) { arr[j + 1] = arr[j]; } else { break; } } arr[j + 1] = value; }}