有人能在算法的第5行和第7行告诉我为什么循环中没有写成li=Ai和ri=Ai吗
发布于 2019-08-08 01:50:06
我不确定我是否正确,因为我看不到算法的其余部分,但似乎你已经对Ap,...,q和Aq+1,...,r进行了排序,并且你想将它们合并,这样整个Ap,...,r就变得有序了。将元素从Ap,...,Q复制到L数组,将元素从Aq+1,...,r复制到R数组。
出于某种原因,作者没有从p到q和从q+1到r进行循环,而是决定计算n1,Ap中的元素数量,...,q,然后从1到n1进行循环,这会产生完全相同的效果(我猜知道n1的长度可以缩短代码)。因为第i个元素等于p+i- 1,所以你必须写成Li = Ap +i-1。n2也是如此。
如果您决定创建一个从p到q的for循环(我的意思是第4行中的FOR i=p to q),则可以编写Li = Ai。对于从q+1到r的循环,Ri = Ai也是如此。
https://stackoverflow.com/questions/57399578
复制相似问题