【发布时间】:2019-12-30 12:10:51
【问题描述】:
我已经开始研究数据结构了,链表就弹出来了。链表背后的想法很简单,但实现(我使用 c++)有点令人困惑,尤其是关于链表中使用的节点。 C++中为单链表定义节点的方式如下
// A linked list node
struct Node {
int data;
struct Node* next;
};
或者如果我们使用类,那么它是这样定义的。
class Node {
public:
int data;
Node* next;
};
我的困惑出现在这里。如何在 struct Node 中定义另一个具有相同名称的结构?我看到新结构是一个指向节点的指针,但是这个实现实际上是如何工作的?这真的很混乱:(
【问题讨论】:
-
请注意,struct 和 class 之间没有区别,除了默认访问。
struct Node* next;是旧 C 的古老遗留物,相当于英语中的动词变位:P
标签: c++11 linked-list nodes