【问题标题】:Node in Linked List链表中的节点
【发布时间】:2019-10-03 22:49:04
【问题描述】:
struct Node{
    int data;
    Node *next;
}

我对这个链表代码有疑问,为什么结构节点中有

Node *next;

为什么对类型数据使用结构名称而不是 string 或 int

【问题讨论】:

  • 链表是节点对象的线性序列。在这种情况下,每个节点都将保存int 类型的数据。为了连接这些节点,您需要使用指针。 next 将被分配另一个 Node 对象的地址,以便我们能够通过这些指针从头到尾进行迭代。

标签: c++ data-structures linked-list


【解决方案1】:

链表可能如下所示:

请注意,每个节点都有两件事要存储:有效负载(或者对您而言,int data)和指向列表中下一个节点的指针。

指向列表中下一个节点的指针是什么样的? Node *next

【讨论】:

    【解决方案2】:

    这就是链表。包含指向列表中下一个(或上一个)节点的指针的节点结构。这个想法是有效地插入/删除数据。

    std::list

    【讨论】:

    • 它包含一个指针,但为什么使用结构名称,为什么不使用类似字符串或 int *next?。
    • 因为它包含一个指向相同类型的指针,而不是一个int*。
    • 该结构还可能包含指向列表中下一个{或上一个}节点(结构)的指针。
    猜你喜欢
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 2017-12-07
    • 2018-11-05
    • 2017-04-22
    相关资源
    最近更新 更多