【发布时间】:2014-06-05 07:28:50
【问题描述】:
我有一个类似于 List 的数据结构,但我不能使用任何内置容器(List 等)。我想保留一个“指针指针”又名“尾巴”,它指向这个列表的尾部。在 C++ 中应该是这样的:
class MyList {
Node* head;
Node** tail; // tail is just a pointer to the "next" pointer of the end of the list.
MyList() {
head = null;
tail = &head;
}
bool isEmpty() {
return head == null;
}
void add(int val) {
*tail = new Node();
(*tail)->val = val;
tail = &((*tail)->next);
}
}
如何在 C# 中实现这一点?谢谢!
【问题讨论】:
-
没有必要用指针来做,引用就足够了。但是,你为什么还要这样做?你应该解释你试图解决的问题,因为你很可能在想这个错误。将 C++ 音译为 C# 通常是个坏主意。
List[List.Count - 1]有什么问题?另外,如果你想要一个链表,为什么不使用内置的LinkedList? :) -
不要把苹果和橙子混在一起
-
啊.. 好了。谢谢。更清晰。
-
@Luaan 如何处理参考文献?
-
一般我认为最简单的方法是让节点本身包含对下一个节点的引用