【问题标题】:What is the difference between current->link->data and current->data in singly linked list?单链表中的 current->link->data 和 current->data 有什么区别?
【发布时间】:2016-10-29 12:29:23
【问题描述】:

我想知道current->link->data 数据和current->data 是否提供相同的结果。

另外一个概念current和current->link在单链表中到底有什么区别?

【问题讨论】:

  • 这完全取决于有问题的链表的实现——如果您期望得到足够的答案,您应该提供更多细节;然而,我的怀疑是 current->link 指向列表中的 next 元素,因此当前列表元素数据(current->data)与其后继元素数据(current->link->data)之间存在差异)
  • 补充 oldrinb 所说的话:当您在单个语句中具有两倍的间接性时,您也更有可能遵循空指针。
  • @StoryTeller:这完全取决于 LL 的实现,它与用户的“合同”是否保证 current-> link 永远不会为空。 (大概current 本身永远不会为空,除非实现真的很烂。)

标签: c linked-list implementation


【解决方案1】:

我想知道 current->link->data 数据和 current->data 是否提供 同样的结果。

如果存储相同的数据,它们可能会提供相同的数据,但这些是不同的位置,即如果 current->data 是 data 在 current node 那么 current->link->data 将是 data 的 next node。如图所示。

struct node
{
struct node *link;
int          data;
};

考虑一个典型的单链表node,如上所述。成员link 最初指向NULL,但后来又指向其他node。考虑一个带有一些预插入node 的链表。

还有另一个概念,电流之间到底有什么区别 和 current-> 单链表中的链接?

current 是指向当前node 的指针,而current->link 是指向下一个node 的指针,指向当前node。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    相关资源
    最近更新 更多