链表头插法c语言代码
时间: 2024-06-17 22:01:13 浏览: 111
链表头插法是将新元素插入到链表头部的操作,通常在C语言中,我们会创建一个新的节点,并将其`next`指针指向当前链表的头节点,然后更新头节点的指针指向新节点。这是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构
typedef struct Node {
int data; // 数据域
struct Node* next; // 指向下一个节点的指针
} Node;
// 创建新的节点
Node* create_node(int data) {
Node* newNode = (Node*)malloc(sizeof(Node)); // 分配内存
if (newNode != NULL) {
newNode->data = data;
newNode->next = NULL; // 新节点默认没有下一个节点
}
return newNode;
}
// 链表头插法
void insert_at_head(Node** head, int data) {
// 创建新节点
Node* newNode = create_node(data);
// 将新节点的next指向前头节点
newNode->next = *head;
// 更新头节点指针
*head = newNode;
}
// 测试代码
int main() {
Node* head = NULL; // 初始化链表为空
// 插入数据
insert_at_head(&head, 5); // 插入5
insert_at_head(&head, 3); // 插入3
// 打印链表
Node* temp = head;
while (temp != NULL) {
printf("%d ", temp->data);
temp = temp->next;
}
return 0;
}
```
阅读全文