#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
typedef struct Node{
int data;
struct Node * pNext;
}NODE,*PNODE;
typedef struct Stack{
PNODE pTop; //栈顶元素
PNODE pBottom; //栈底部元素
}STACK,*PSTACK;
void init(PSTACK);
void push(PSTACK, int);
void traverse(PSTACK);
bool pop(PSTACK, int *p);
bool empty(PSTACK ps); //判空
void clear(PSTACK ps); //清空
int main(void){
STACK s; //等价于struct Stack
init(&s); //初始化
push(&s,1); //压栈
push(&s, 2);
push(&s, 3);
push(&s, 4);
push(&s, 5);
push(&s, 6);
push(&s, 7);
traverse(&s); //遍历输出
//清空栈
clear(&s);
traverse(&s); //遍历输出
int val; //保存出栈的元素
//出栈一个元素
if (pop(&s, &val)) {
printf("出栈成功,出栈的元素是%d\n", val);
}else {
printf("出栈失败,出栈的元素是%d\n", val);
}
traverse(&s); //遍历输出
while (true){ }
return 0;
}
//初始化造出一个空栈
void init(PSTACK
栈清空程序演示
最新推荐文章于 2023-09-15 16:12:51 发布
本文详细探讨了栈这一数据结构的基本概念,并通过实例演示了如何实现栈的清空过程,帮助读者理解栈的运作机制及其在实际问题中的应用。
摘要由CSDN通过智能技术生成