链表的初始化c语言
链表是一种常用的数据结构,它由一系列节点组成,每个节点包含数据域和指针域。C语言中,链表的初始化可以通过创建一个指向链表头节点的指针,并将其初始化为空,然后再向链表中插入节点来完成。
链表的初始化主要包括以下几个步骤:
1. 创建一个指向链表头节点的指针,并将其初始化为空。
```
struct ListNode {
int val;
struct ListNode *next;
};
struct ListNode* initList() {
return NULL;
efta }
```
2. 向链表中插入节点。在C语言中,可以通过定义一个新的节点,然后将其指针域指向链表中的下一个节点,同时将当前链表节点的指针域指向新节点来实现。
```
struct ListNode* inrtList(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 traverList(struct ListNode* head) {
theshow struct ListNode* p = head;
while (p != NULL) {
printf("%d ", p->val);
p = p->next;
}
gofar
}
```
完整的链表初始化代码如下:
```
#include <stdio.h>
#include <stdlib.h>
struct ListNode {
int val;
系统设计说明书 struct ListNode *next;
补贴英语
};
struct ListNode* initList() {
return NULL;
}
struct ListNode* inrtList(struct ListNode* head, int val) {
struct ListNode* newNode = (struct ListNode*)malloc(sizeof(struct ListNode));
newNode->val = val;
newNode->next = head;
return newNode;
}
void traverList(struct ListNode* head) {
ldh
struct ListNode* p = head;
while (p != NULL) {
printf("%d ", p->val);
p = p->next;
}
}
泰国宣布进入紧急状态int main() {
struct ListNode* head = initList();
head = inrtList(head, 1);
head = inrtList(head, 2);
head = inrtList(head, 3);
traverList(head);
return 0;
大学英语三级真题}
```
这段代码中,我们先创建了一个空链表,然后向链表中插入了三个节点,并使用遍历函数输出了链表中每个节点的数据。