首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于使用数组表示Josephus难题

关于使用数组表示Josephus难题
EN

Stack Overflow用户
提问于 2010-11-28 17:34:19
回答 1查看 546关注 0票数 1

Robert Sedwick的算法,在下面的链接中提到了链表可以使用数组来表示

http://flylib.com/books/en/3.55.1.34/1/

图3.8,如果从我的理解中删除了5,则在删除Val5时,下一个4应更改为索引6,因为我们在第4项中删除了第4项的数字,然后更改了Val3。我没有理解这个数字的逻辑。有人能帮帮我吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-28 18:19:44

索引是从零开始的,而不是值本身(字母会是更好的值)。

删除值5示例:删除前,值为4的节点的下一个索引为4,指向值5;删除后,下一个索引变为5,指向值6 (下一个由4变为5)。

或者,使用前缀v表示值:

之前的

代码语言:javascript
复制
    index ...  3  4  5 ...
    ----------------------
    value     v4 v5 v6
    next       4  5  6

之后的

代码语言:javascript
复制
    index ...  3  4  5 ...
    ----------------------
    value     v4 v5 v6
    next       5  5  6  

如您所见,节点v4后面紧跟着v6 (索引5),实际上从链中删除了v5

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

https://stackoverflow.com/questions/4296180

复制
相关文章

相似问题

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