/**
* 插入排序
* @param data:等代排序整型数组
* data = { 92, 77, 67, 8, 6, 84, 55, 85, 43, 67 }
* 排序结果:
* 第 1 次排序:77 92 67 8 6 84 55 85 43 67
* 第 2 次排序:67 77 92 8 6 84 55 85 43 67
* 第 3 次排序:8 67 77 92 6 84 55 85 43 67
* 第 4 次排序:6 8 67 77 92 84 55 85 43 67
* 第 5 次排序:6 8 67 77 84 92 55 85 43 67
* 第 6 次排序:6 8 55 67 77 84 92 85 43 67
* 第 7 次排序:6 8 55 67 77 84 85 92 43 67
* 第 8 次排序:6 8 43 55 67 77 84 85 92 67
* 第 9 次排序:6 8 43 55 67 67 77 84 85 92
*/
public void insertSort(int data[]) {
int k, temp, max = data.length;
for (int i = 1; i < max ; i++) {
temp = data[i];
k = i - 1;
while (temp < data[k]) {
data[k + 1] = data[k];
k--;
if (k == -1)
break;
}
data[k + 1] = temp;
System.out.print("第 " + i + " 次排序:");
for (int j = 0; j <= max - 1; j++) {
System.out.print(data[j] + " ");
}
System.out.println();
}
}