java 插入排序
package order.insertion.demo;
//插入排序
public class InsertionSort {
public static int[] arr = new int[] { 2, 4, 5, 1, 3, 8, 6, 9, 0, 7 };
public static void main(String[] args) {
// 从大到小排序
int temp, j;
int sortCount = 0;// 遍历次数
int handleCount = 0;// 处理次数
for (int i = 0; i < arr.length; i++) {
j = i - 1;
temp = arr[i];
while (j >= 0 && temp > arr[j]) {
arr[j + 1] = arr[j];
j--;
handleCount++;
}
arr[j + 1] = temp;
sortCount++;
System.out.println("i下标: " + i + " index下标: " + j);
}
// 查看结果
for (
int i : arr) {
System.out.print(i + "\t");
}
System.out.println();
System.out.println("遍历次数: " + sortCount);
System.out.println("操作次数: " + handleCount);
}
// i下标: 0 index下标: -1
// i下标: 1 index下标: -1
// i下标: 2 index下标: -1
// i下标: 3 index下标: 2
// i下标: 4 index下标: 1
// i下标: 5 index下标: -1
// i下标: 6 index下标: 0
// i下标: 7 index下标: -1
// i下标: 8 index下标: 7
// i下标: 9 index下标: 1
// 9 8 7 6 5 4 3 2 1 0
// 遍历次数: 10
// 操作次数: 29
}