在合并排序算法的line 8 & 9上具有∞的目的是什么?
答案 0 :(得分:2)
因为否则该算法可能会尝试在数组绑定之外进行索引。例如
a = [1, 2, 3, 999999, 4, 5]
b = [6, 7, 8, 9, 10, 11]
a
的指针达到999999后,b
的指针将不断增加,直到超出范围并导致程序崩溃为止。
a = [1, 2, 3, 999999, 4, 5, ∞]
b = [6, 7, 8, 9, 10, 11, ∞]
将阻止该行为
答案 1 :(得分:0)
这些被称为前哨元素。他们确保您永远不会越过数组,并且省去了测试。