判断单链表是否为空的代码
时间: 2023-09-29 20:08:23 浏览: 192
下面是判断单链表是否为空的代码:
```C++
struct ListNode{
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
bool isLinkedListEmpty(ListNode* head){
if(head == NULL){
return true;
} else {
return false;
}
}
```
这段代码中,我们首先定义了一个 ListNode 结构体,它有两个成员:val 表示节点的值,next 表示下一个节点的指针。然后,我们定义了一个函数 isLinkedListEmpty,它的参数是一个单链表的头节点。如果头节点为 NULL,说明单链表为空,返回 true;否则,返回 false。
相关问题
判断单链表是否为空,C语言
要判断一个单链表是否为空,可以通过检查链表的头指针是否为NULL来判断。如果头指针为NULL,表示链表为空;否则,链表不为空。
下面是一个示例的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义单链表节点结构
struct Node {
int data; // 数据域
struct Node* next; // 指针域,指向下一个节点
};
// 判断单链表是否为空
int isListEmpty(struct Node* head) {
if (head == NULL) {
return 1; // 空链表
} else {
return 0; // 非空链表
}
}
int main() {
struct Node* head = NULL; // 初始化链表头指针为NULL
if (isListEmpty(head)) {
printf("The list is empty.\n");
} else {
printf("The list is not empty.\n");
}
return 0;
}
```
在上述代码中,首先定义了一个单链表的节点结构体Node,包含数据域data和指针域next。然后,通过isListEmpty函数判断链表是否为空,函数的参数为链表的头指针。在主函数中,首先初始化头指针为NULL,并调用isListEmpty函数判断链表是否为空,并输出相应的结果。
带头结点单链表的判空代码
带头结点单链表的判空代码如下:
```c
typedef struct node {
int data;
struct node* next;
} Node;
typedef struct {
Node* head;
int length;
} List;
int isEmpty(List* list) {
if (list == NULL || list->head == NULL) {
return 1;
}
return 0;
}
```
其中,List为带头结点单链表的结构体,包含头结点指针head和链表长度length。isEmpty函数用于判断链表是否为空,若链表为空或链表头指针为空,则返回1,否则返回0。