admin 管理员组文章数量: 1087871
2024年5月20日发(作者:osi各层的网络设备)
链表的初始化c语言
链表是一种常用的数据结构,它由一系列节点组成,每个节点包含数
据域和指针域。C语言中,链表的初始化可以通过创建一个指向链表
头节点的指针,并将其初始化为空,然后再向链表中插入节点来完成。
链表的初始化主要包括以下几个步骤:
1. 创建一个指向链表头节点的指针,并将其初始化为空。
```
struct ListNode {
int val;
struct ListNode *next;
};
struct ListNode* initList() {
return NULL;
}
```
2. 向链表中插入节点。在C语言中,可以通过定义一个新的节点,然
后将其指针域指向链表中的下一个节点,同时将当前链表节点的指针
域指向新节点来实现。
```
struct ListNode* insertList(struct ListNode* head, int val) {
struct ListNode* newNode = (struct
ListNode*)malloc(sizeof(struct ListNode));
newNode->val = val;
newNode->next = head;
return newNode;
}
```
3. 遍历链表。链表的遍历是指从链表头节点开始,依次访问链表中每
个节点的数据并输出。在C语言中,可以使用while循环来遍历链表,
并使用指针变量来指向当前节点。
```
void traverseList(struct ListNode* head) {
struct ListNode* p = head;
while (p != NULL) {
printf("%d ", p->val);
p = p->next;
}
}
```
完整的链表初始化代码如下:
```
#include
#include
struct ListNode {
int val;
struct ListNode *next;
};
struct ListNode* initList() {
return NULL;
}
struct ListNode* insertList(struct ListNode* head, int val) {
struct ListNode* newNode = (struct
ListNode*)malloc(sizeof(struct ListNode));
newNode->val = val;
newNode->next = head;
return newNode;
}
void traverseList(struct ListNode* head) {
struct ListNode* p = head;
while (p != NULL) {
printf("%d ", p->val);
p = p->next;
}
}
int main() {
struct ListNode* head = initList();
head = insertList(head, 1);
head = insertList(head, 2);
head = insertList(head, 3);
traverseList(head);
return 0;
}
```
这段代码中,我们先创建了一个空链表,然后向链表中插入了三个节
点,并使用遍历函数输出了链表中每个节点的数据。
版权声明:本文标题:链表的初始化c语言 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1716213108a692163.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论