gpt4 book ai didi

c - 与 C 中的链表有点混淆

转载 作者:行者123 更新时间:2023-12-02 05:26:10 25 4
gpt4 key购买 nike

我正在阅读 linked lists and their implementation in C on Wikipedia .我没有像其他 C 语言概念那样快速理解它们。

list_add() 函数中,我想知道为什么它说...

n->next = *p; /* the previous element (*p) now becomes the "next" element */

我真的不明白评论。为什么前一个元素会变成下一个?新节点不应该成为旧节点上的下一个节点吗?

请记住,我刚刚开始了解链表,因此请慢慢引导我完成它。

谢谢。

更新

抱歉,如果不是很明显,但我正在查看的所有代码都在 Wikipedia article 上.

最佳答案

因为列表是单链接的,这意味着它是 A->B->C->etc,所以它必须遍历整个列表以在末尾添加新元素。

相反,它在开头添加新元素 n,并将 n->next 指向前一个第一个元素 p

关于c - 与 C 中的链表有点混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4154028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com