ShellSort 关于控制条件
来源:2-7 更多关于O(n^2)排序算法的思考

qq_飞羽醉月_0
2017-10-30
for (int i = h; i < n; i++) { T e = arr[i]; int j; for (j = i; j >= h && e < arr[j - h]; j -= h) { arr[j] = arr[j - h]; } arr[j] = e; }
为何 不是 j >= i; i 不该是有序数组得 第一个元素的索引吗?
写回答
1回答
-
这部分代码将h个数组进行插入排序。其中0~h-1是这h个数组的第一个元素。i是当前处理的元素。j从i开始,只要j>=h,就说明j还没有碰到第一个元素。
112017-11-13
相似问题