首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >显示链表中的所有节点

显示链表中的所有节点
EN

Stack Overflow用户
提问于 2013-10-19 04:12:21
回答 2查看 1.3K关注 0票数 1

这是链接列表类的一部分,用于显示所有节点。

此方法试图做的是将前面设置为指针(是的,我使用的是前端而不是head,这并不重要,但我正在实现基于链表的队列)到指针,在这种情况下称为" cur“,并检查cur下一个节点是否为空,如果它没有得到元素(两个部分,份额和价格)并将cur设置为下一个节点,清洗并重复直到下一个cur (在它进入之前)为空,在这种情况下,它退出循环并打印最后的cur(在空的尾/后)。将所有元素添加到s中(通过连接)

代码语言:javascript
代码运行次数:0
运行
复制
public Object displayAll() {
        Node cur = front;
        Object s = null;
        while(cur.getNext() != null) {
             s += cur.getShare() + " @ " + cur.getPrice();
            cur.setNext(cur);
        }
        s += cur.getShare() + " @ " + cur.getPrice();
        return s;
}

输出:它重复第一个元素无数次。预期的输出:我不想重复,而是显示所有节点的所有元素。

我遗漏了什么?有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-19 04:16:28

代码语言:javascript
代码运行次数:0
运行
复制
while(cur.getNext() != null) {             
   s += cur.getShare() + " @ " + cur.getPrice();
   cur = cur.getNext();
}

我已经分配了cur = cur.getNext(),您没有将cur重新分配给下一个节点。我还删除了cur.setNext(cur);

您得到了无限循环,因为在while条件下,您正在检查下一个节点不应该是null,而不是在循环中分配cur = next的位置,因此在第一个节点上和循环上无限地保持。

票数 2
EN

Stack Overflow用户

发布于 2013-10-19 04:14:49

cur.setNext(cur)看起来很可疑,就像在设置一个连接到自身的节点,这显然是一种无限的关系。

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

https://stackoverflow.com/questions/19462275

复制
相关文章

相似问题

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