时间:2024-10-10 来源:网络 人气:
链表是C语言中一种重要的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表具有灵活的插入和删除操作,因此在各种场景下都有广泛的应用。
在C语言中,链表通常由结构体定义,每个结构体包含数据和指向下一个节点的指针。以下是一个简单的链表节点结构体定义:
```c
typedef struct Node {
int data;
struct Node next;
} Node;
创建链表的第一步是创建一个头节点,头节点不存储数据,仅作为链表的起始点。以下是一个创建链表的示例代码:
```c
Node createList() {
if (head == NULL) {
return NULL;
}
head->next = NULL;
return head;
链表的插入操作分为头插法、尾插法和指定位置插入。以下是一个头插法的示例代码:
```c
void insertAtHead(Node head, int data) {
if (newNode == NULL) {
return;
}
newNode->data = data;
newNode->next = head->next;
head->next = newNode;
链表的删除操作同样分为头删法、尾删法和指定位置删除。以下是一个头删法的示例代码:
```c
void deleteAtHead(Node head) {
if (head->next == NULL) {
free(head);
return;
}
Node temp = head->next;
head->next = temp->next;
free(temp);
遍历链表是操作链表的基本步骤,以下是一个遍历链表的示例代码:
```c
void traverseList(Node head) {
Node current = head->next;
while (current != NULL) {
printf(