c语言运行单链表的main函数
时间: 2024-03-09 14:47:18 浏览: 17
好的,以下是一个简单的单链表的main函数示例,使用C语言实现:
```c
#include <stdio.h>
#include <stdlib.h>
struct ListNode {
int val;
struct ListNode *next;
};
int main() {
// 创建单链表
struct ListNode* head = (struct ListNode*)malloc(sizeof(struct ListNode));
head->val = 1;
struct ListNode* node1 = (struct ListNode*)malloc(sizeof(struct ListNode));
node1->val = 2;
struct ListNode* node2 = (struct ListNode*)malloc(sizeof(struct ListNode));
node2->val = 3;
head->next = node1;
node1->next = node2;
node2->next = NULL;
// 遍历单链表
struct ListNode* p = head;
while (p != NULL) {
printf("%d ", p->val);
p = p->next;
}
printf("\n");
// 插入节点
struct ListNode* newNode = (struct ListNode*)malloc(sizeof(struct ListNode));
newNode->val = 4;
newNode->next = node2;
node1->next = newNode;
// 删除节点
node1->next = node2;
// 遍历单链表
p = head;
while (p != NULL) {
printf("%d ", p->val);
p = p->next;
}
printf("\n");
// 释放内存
free(head);
free(node1);
free(node2);
free(newNode);
return 0;
}
```
该程序首先创建了一个带有三个节点的单链表,然后遍历单链表并输出每个节点的值,接着在第二个节点后面插入了一个值为4的新节点,最后删除了第二个节点并再次遍历单链表。
需要注意的是,在程序结束时,需要手动释放每个节点的内存空间,以免造成内存泄漏。