c 语言单链表头插法
时间: 2023-07-02 17:16:28 浏览: 95
头插法单链表
单链表头插法是将新节点插入到链表的头部,使其成为新的第一个节点,代码实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
struct ListNode {
int val;
struct ListNode *next;
};
struct ListNode* createNode(int val) {
struct ListNode* node = (struct ListNode*)malloc(sizeof(struct ListNode));
node->val = val;
node->next = NULL;
return node;
}
struct ListNode* addNode(struct ListNode* head, int val) {
struct ListNode* node = createNode(val);
node->next = head;
return node;
}
int main() {
struct ListNode* head = NULL; // 初始化链表为空
head = addNode(head, 1);
head = addNode(head, 2);
head = addNode(head, 3);
// 遍历链表
struct ListNode* p = head;
while (p != NULL) {
printf("%d ", p->val);
p = p->next;
}
return 0;
}
```
上述代码中,`createNode` 函数用于创建新节点,`addNode` 函数用于将新节点插入到链表头部,`head` 指针指向链表的头节点,初始化为 `NULL`,表示链表为空。在 `main` 函数中,我们使用 `addNode` 函数向链表中插入新节点,并且遍历链表输出节点的值。
阅读全文