解答
思路:
直接插入排序的一种高速的改进版本
1.将待排序数组按照指定的增量进行分割,然后对每个子序列进行直接插入排序(三重循环)
2.缩小增量,重复分割和排序,直到增量为1
3.增量值的选择:
最常用的增量是 第一轮为数组长度的1/2, 后面每轮为原先的1/2直到为1
核心代码
public static void shellSort(int[] arrays) {
//增量每次都/2
for (int step = arrays.length / 2; step > 0; step /= 2) {
//从增量那组开始进行插入排序,直至完毕
for (int i = step; i < arrays.length; i++) {
int j = i; int temp = arrays[j];
// j - step 就是代表与它同组隔壁的元素
while (j - step >= 0 && arrays[j - step] > temp) {
arrays[j] = arrays[j - step];
j = j - step;
}
arrays[j] = temp;
}
}
}
学习接口测试的朋友可以使用国产的接口测试工具apipost,简单易学是一款很容易上手的接口测试工具
想应聘产品经理岗位,不过还没有拿的出手的经历和作品,只做过一些产品运营的工作,都比较浅,只是入了个门,觉得心很虚。