c语言链表的基本操作,写出c语言代码
时间: 2024-10-13 13:08:46 浏览: 31
链表是一种数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。在C语言中,链表的基本操作主要包括创建链表、插入节点、删除节点和遍历链表。
1. 创建链表:首先需要定义链表节点结构体(如`struct Node`),然后可以初始化一个空链表。
```c
typedef struct Node {
int data;
struct Node* next;
} Node;
// 初始化一个空链表
Node* createList() {
Node* head = NULL;
return head;
}
```
2. 插入节点:在链表头部插入新节点通常是最快的方式,例如:
```c
void insertAtStart(Node** head, int data) {
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = data;
newNode->next = *head;
*head = newNode;
}
```
其他位置插入可能需要处理前驱节点。
3. 删除节点:移除特定值的节点,需遍历查找并调整相邻节点的指针。
```c
void deleteNode(Node** head, int key) {
if (*head == NULL || (*head)->data != key)
return; // 如果链表为空或不是目标节点,则不做操作
Node* temp = *head;
*head = (*head)->next; // 将头节点指向下一个节点
free(temp); // 释放已删除节点的内存
}
```
4. 遍历链表:从头节点开始逐个访问节点。
```c
void printList(Node* node) {
while (node != NULL) {
printf("%d ", node->data);
node = node->next;
}
printf("\n");
}
```
阅读全文