写一篇完整的单链表代码C语言
时间: 2024-10-22 18:21:14 浏览: 19
当然可以。下面是一个简单的单链表的 C 语言实现,包括链表节点的定义、链表的创建、插入元素以及打印链表的基本操作:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构体
typedef struct Node {
int data;
struct Node* next; // 指向下一个节点的指针
} Node;
// 创建一个新的链表节点
Node* createNode(int value) {
Node* newNode = (Node*)malloc(sizeof(Node));
if (newNode != NULL) {
newNode->data = value;
newNode->next = NULL;
}
return newNode;
}
// 插入节点到链表头部
void insertAtBegin(Node** headRef, int value) {
Node* newNode = createNode(value);
newNode->next = *headRef; // 将新节点链接到当前头节点之后
*headRef = newNode; // 更新头节点指向新节点
}
// 打印链表
void printList(Node* node) {
while (node != NULL) {
printf("%d -> ", node->data);
node = node->next;
}
printf("NULL\n");
}
int main() {
// 初始化一个空链表
Node* head = NULL;
// 插入一些元素
insertAtBegin(&head, 10);
insertAtBegin(&head, 5);
insertAtBegin(&head, 20);
// 打印链表
printf("Linked List: ");
printList(head);
return 0;
}
```
阅读全文