时间:2024-10-28 来源:网络 人气:
链表是C语言中一种重要的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表具有动态分配内存、插入和删除操作灵活等优点,因此在各种编程场景中有着广泛的应用。
链表是一种线性数据结构,与数组相比,链表不连续存储数据,而是通过指针连接各个节点。每个节点包含两部分:数据域和指针域。数据域存储实际的数据,指针域存储指向下一个节点的地址。
根据链表中节点的指针指向,链表可以分为单链表、双链表和循环链表。单链表是最基本的链表类型,每个节点只有一个指向下一个节点的指针。双链表每个节点有两个指针,一个指向前一个节点,一个指向下一个节点。循环链表是单链表的一种变体,最后一个节点的指针指向第一个节点,形成一个环。
创建单链表通常从头节点开始,头节点不存储数据,仅作为链表的起始点。以下是一个创建单链表的示例代码:
```c
include
include
typedef struct Node {
int data;
struct Node next;
} Node;
// 创建单链表
Node createList(int arr[], int size) {
head->next = NULL;
Node current = head;
for (int i = 0; i data = arr[i];
newNode->next = NULL;
current->next = newNode;
current = newNode;
}
return head;
// 遍历单链表
void traverseList(Node head) {
Node current = head->next;
while (current != NULL) {
printf(