首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于复制子数组中的元素的合并排序算法循环

用于复制子数组中的元素的合并排序算法循环
EN

Stack Overflow用户
提问于 2019-08-08 01:30:24
回答 1查看 41关注 0票数 0

有人能在算法的第5行和第7行告诉我为什么循环中没有写成li=Ai和ri=Ai吗

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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也是如此。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57399578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档