c语言数据结构 单链表
时间: 2023-10-22 14:09:15 浏览: 44
单链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。单链表的优点是插入和删除操作比较高效,但是访问操作需要遍历整个链表,效率较低。
在C语言中,可以通过定义一个结构体来表示单链表的节点,如下所示:
```
struct ListNode {
int val;
struct ListNode *next;
};
```
其中,`val`表示节点的数据元素,`next`表示指向下一个节点的指针。创建一个单链表可以通过不断地创建新的节点,并将它们连接起来来实现。例如,下面的代码创建了一个包含三个节点的单链表:
```
struct ListNode* head = NULL;
struct ListNode* second = NULL;
struct ListNode* third = NULL;
head = (struct ListNode*)malloc(sizeof(struct ListNode));
second = (struct ListNode*)malloc(sizeof(struct ListNode));
third = (struct ListNode*)malloc(sizeof(struct ListNode));
head->val = 1;
head->next = second;
second->val = 2;
second->next = third;
third->val = 3;
third->next = NULL;
```
这里使用了动态内存分配函数`malloc`来分配每个节点的内存空间。最后一个节点的`next`指针为`NULL`,表示链表的末尾。