使用C语言实现一个抽象数据类型——单链表 补全linkList.c中的代码,实现以下接口: 1. CreateEmptyList(Node** head): 创建一个空链表
时间: 2024-09-12 14:03:47 浏览: 51
c语言单链表的实现及测试
在C语言中,我们可以使用结构体和指针来实现单链表的抽象数据类型。首先,我们需要定义一个`Node`结构体表示链表的节点,其中包含一个值域`data`和一个指向下一个节点的指针`next`。
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构
typedef struct Node {
int data;
struct Node* next; // 指向下一个节点的指针
} Node;
// 创建一个空链表函数
void CreateEmptyList(Node** head) {
*head = (Node*)malloc(sizeof(Node)); // 分配内存给头节点
if (*head == NULL) { // 如果分配失败
printf("Memory allocation failed.\n");
exit(1);
}
(*head)->next = NULL; // 初始化头节点的next为NULL,表示链表为空
}
int main() {
// 测试CreateEmptyList函数
Node* head;
CreateEmptyList(&head);
if (head != NULL && head->next == NULL) {
printf("Empty list created successfully.\n");
} else {
printf("Failed to create an empty list.\n");
}
return 0;
}
```
在这个实现中,`CreateEmptyList`函数接受一个指向`Node`类型的指针的指针`head`,它会为新链表创建一个头节点,并将其状态初始化为`next`字段为`NULL`。如果内存分配失败,函数会返回并终止程序。
阅读全文