C语言实现判断链栈是否为空
时间: 2023-08-20 22:52:46 浏览: 176
用类来实现简单的栈。栈中有以下操作:元素入栈,读出栈顶元素值,退栈,判断栈顶空否,如果溢出,程序终止。
5星 · 资源好评率100%
要判断链栈是否为空,可以检查链栈的头指针是否为空。以下是使用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`函数来判断链栈是否为空。根据结果输出相应的信息。
注意:这只是一个简单的示例,实际应用中可能还需要包括其他操作,比如入栈、出栈等。
阅读全文