C 语言中向链表中添加节点

2024 年 8 月 28 日 | 3 分钟阅读

链表是计算机编程中使用的一种数据结构,它由一系列元素组成,每个元素都包含对下一个元素的引用(链接)。与数组不同,链表中的元素不存储在连续的内存位置。相反,每个元素都存储在单独的内存位置,并通过引用链接到下一个元素。

链表对于创建动态数据结构非常有用,并且可以轻松地进行插入、删除或更新操作。它们通常用于 C 和 C++ 等编程语言,也可以在 Java 和 Python 等其他语言中找到。然而,链表的访问时间比数组慢,因为链表中的元素必须通过遍历列表从第一个元素开始访问。

C 语言代码实现

C 语言中的链表可以通过类或结构体实现,它定义了链表的属性和方法。类或结构体应包含指向列表第一个元素的指针(称为头节点),以及一个变量来存储列表中的元素数量。以下是 C 语言中一个大型链表实现的示例

输出

15 10 5 
15 5 
Number of elements: 2

C 语言中向链表中添加节点

下面是一个 C 语言简单代码示例,演示了如何在主函数中向链表添加新节点

C 代码

输出

5 10 15

说明

在此代码中,`addNode` 函数接受两个参数:一个指向链表的指针和一个整数值,该值将存储在新节点的数据字段中。首先,它创建一个新的节点对象,将值赋给数据字段并将 `next` 字段设置为 `NULL`。

链表更适合动态数据结构以及插入、删除元素,而数组更适合快速随机访问并具有更好的缓存局部性。但是,这取决于使用场景和具体的实现。

然后它检查列表的头节点是否为 NULL,如果是,它将新节点分配给头节点,否则它遍历列表以找到最后一个节点并将新节点添加到列表的末尾。在主函数中,它创建一个 `LinkedList` 对象,并将头节点设置为 NULL,多次调用 `addNode` 函数添加一些值,然后遍历列表以打印所有值。