数据结构单链表的结构体定义、初始化、判空。
时间: 2024-11-15 08:20:10 浏览: 0
在数据结构中,单链表是一种线性结构,每个节点包含两个部分:数据域(存储元素值)和指针域(指向下一个节点的地址)。以下是单链表的基本结构体定义、初始化以及判空的示例,这里以C语言为例:
```c
// 定义单链表节点结构体
typedef struct ListNode {
int data; // 节点数据
struct ListNode* next; // 指向下一个节点的指针
} ListNode;
// 初始化链表节点(默认头结点next为空)
ListNode* createNode(int value) {
ListNode* newNode = (ListNode*)malloc(sizeof(ListNode)); // 动态分配内存
if (newNode != NULL) { // 如果分配成功
newNode->data = value;
newNode->next = NULL; // 初始化新节点的next指针为空
} else {
printf("Memory allocation failed.\n");
return NULL; // 分配失败返回NULL
}
return newNode;
}
// 判断链表是否为空
int isListEmpty(ListNode* head) {
if (head == NULL || head->next == NULL) {
return 1; // 链表为空返回1
} else {
return 0; // 非空链表返回0
}
}
```
在这个例子中,`ListNode`是一个结构体,`createNode`函数用于创建新的链表节点并初始化,`isListEmpty`函数检查链表是否为空。
阅读全文