1.什么是直接插入排序
依次将待排序中的数字直接插入到已按从小到大(或者从大到小)排好的序列中去,直到插完所有数字为止。
2.图示表示
3.代码实现
public static void insertSort(int[] array) {
for (int bound = 1; bound < array.length; bound++) {
int tmp = array[bound];
int cur = bound - 1; //[1,bound)为排序好的,[bound,array.length)是待排序的
for (cur = bound - 1; cur >= 0; cur--) {
if (array[cur] > tmp) {
array[cur + 1] = array[cur];
} else {
break;
}
}
array[cur + 1] = tmp;
}
}
来源:51CTO
作者:Linnnna
链接:https://blog.51cto.com/14298563/2470120