【发布时间】:2017-03-17 11:47:05
【问题描述】:
我问了一个关于链表的问题...我想我被误解了...我目前正在研究链表,我明白了这个概念,但我对节点的实现有点困惑。
public class Node
{
public Node Next;
public object Value;
}
如何使用“公共节点下一步;”在类节点内。换句话说,当您声明 Node 本身时,如何使用 Node 类型的 Next 对象?......这就像递归......是的,我知道递归是一种调用自身的方法......但是在在这种情况下,它是在类本身内部创建的同一类的对象......这就是为什么我说它类似于递归
【问题讨论】:
-
是的,但在某个时刻,
Next == null会停止。 -
"你怎么能在类节点中使用"public Node Next;"你是什么意思?只有当您通过将它们一个接一个地链接在一起来启用它时,才会发生递归。那么问题是什么?
-
回想一下,在 C# 中,所有类变量都是对堆上对象的引用(或 null)。
-
递归是可选的,您可以通过迭代循环很容易地处理链表。真的不清楚你在这里问什么。
-
我猜是有误会。如果您访问
Next属性,您将获得对下一个Node实例的引用。但这不会自动将其称为Next-property。所以得自己调用,例如:object val = node.Next?.Next?.Value;
标签: c#