C语言构造一个单链表并初始化,判断单链表是否为空
时间: 2024-10-21 20:01:59 浏览: 14
数据结构C语言版-线性表的单链表存储结构表示和实现优质资料.doc
在C语言中,我们可以创建一个单链表结构,并通过定义节点结构体、分配内存以及初始化节点值来构造链表。首先,我们需要定义一个包含数据域和指针域的链表节点结构:
```c
typedef struct Node {
int data; // 数据域
struct Node* next; // 指向下一个节点的指针
} Node;
```
然后,我们可以编写一个函数来构造和初始化链表:
```c
Node* createList(int size) {
if (size <= 0) return NULL;
Node* head = malloc(sizeof(Node)); // 分配头节点
if (!head) return NULL;
head->data = 0; // 初始化头节点的数据
head->next = NULL;
for (int i = 1; i < size; i++) {
Node* newNode = malloc(sizeof(Node));
if (!newNode) break; // 如果无法分配新节点,提前结束
newNode->data = i;
newNode->next = NULL; // 初始化新节点
head->next = newNode; // 连接当前节点到新节点
head = newNode; // 更新头节点为新节点
}
return head;
}
// 判断链表是否为空
bool isEmpty(Node* head) {
return head == NULL || head->next == NULL;
}
```
这里,`createList` 函数创建了一个包含 `size` 个节点的链表,而 `isEmpty` 函数检查链表是否为空。
阅读全文