【发布时间】:2017-10-30 10:29:47
【问题描述】:
所以我创建它的原因是因为对于我的 C++ 类,我们获得了必须构建的代码。 (以及周围)我的教授写出这些节点的方式让我对它们如何链接感到困惑。
我一直在查看许多不同的资源,包括链接列表的 youtube 视频,这些资源对您如何拥有临时节点和头节点很有意义。
struct NodeType
{
int info;
NodeType * link;
};
int main()
{
NodeType *ptr, *list;
ptr = new NodeType;
ptr->info = 16;
ptr->link = nullptr;
list = ptr;
ptr = new NodeType;
ptr->info = 28;
ptr->link = nullptr;
list->link = ptr;
ptr = new NodeType;
ptr->info = 52;
ptr->link = list;
list = ptr;
}
我想象它的方式是这样的:
- 我们创建一个节点ptr
- 我们设置整数字段 info = 16
- 我们设置ptr的链接字段=NULL
我们设置list=ptr的地址,让list引用ptr
我们新建一个节点,设置数据字段为28
- 我们设置链接字段 = NULL
我们将节点列表的链接字段指向ptr
我们创建一个 info = 52 的新节点
- 我们将链接字段指向等于list的内存地址
- 我们将节点列表(或者可能是内存地址?)指向当前 ptr 节点
这是我认为它的样子的图像。 ->
我的问题是,当所有节点都指向彼此并从我的图表中时,这些节点应该是什么样子,有什么问题。
【问题讨论】:
-
对于链表,在创建新节点时,通常会使其链接指针指向链表的当前起点,然后将链表指针更改为指向新节点。顺便说一句,我不确定你是否真的问过一个具体的问题......
标签: c++ linked-list c++14 singly-linked-list