判断头节点为空的c语言代码
时间: 2023-08-29 13:08:27 浏览: 54
以下是判断头节点为空的C语言代码:
```c
if(head == NULL) {
// 头节点为空的情况
// 执行相关操作
}
```
其中,`head`是指向链表头节点的指针。如果`head`为空指针,即`head == NULL`,则可以判断链表为空。在这种情况下,可以编写相应的代码来处理链表为空的情况。
相关问题
判断单链表是否为空,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语言实现判断链栈是否为空
要判断链栈是否为空,可以检查链栈的头指针是否为空。以下是使用C语言实现判断链栈是否为空的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int data;
struct Node* next;
} Node;
typedef struct Stack {
Node* top;
} Stack;
// 初始化链栈
void initStack(Stack* stack) {
stack->top = NULL;
}
// 判断链栈是否为空
int isEmpty(Stack* stack) {
return stack->top == NULL;
}
int main() {
Stack stack;
initStack(&stack);
if (isEmpty(&stack)) {
printf("链栈为空\n");
} else {
printf("链栈不为空\n");
}
return 0;
}
```
在上述代码中,我们定义了一个链栈的数据结构,其中`Stack`表示链栈,`Node`表示链栈中的节点。`initStack`函数用于初始化链栈,将其头指针置为NULL。`isEmpty`函数通过判断链栈的头指针是否为NULL来判断链栈是否为空。在`main`函数中,我们创建了一个链栈,并调用`isEmpty`函数来判断链栈是否为空。根据结果输出相应的信息。
注意:这只是一个简单的示例,实际应用中可能还需要包括其他操作,比如入栈、出栈等。