📄 status_stack.h
字号:
#include<stdio.h>
#include<stdlib.h>
#define MAX 20
typedef struct{
int stack[MAX];
int top;
}status;
//初始化栈
void init_stack(status *p)
{
if( !p)
printf("\n初始化状态栈出错!\n");
p->top = -1;
}
//压栈
void push(status *p,int x)
{
if(p->top < MAX-1)
{
p->top++;
p->stack[p->top] = x;
}
else printf("\n状态栈溢出!\n");
}
//弹栈
int pop(status *p)
{
int x;
if(p->top != 0)
{
x = p->stack[p->top];
p->top--;
return x;
}
else
{
printf("\n状态栈1空!\n");
return 0;
}
}
//取栈顶元素
int get_top(status *p)
{
int x;
if(p->top != -1)
{
x = p->stack[p->top];
return x;
}
else
{
printf("\n状态栈2空!\n");
return 0;
}
}
//遍历栈元素
void out_stack(status *p)
{
int i;
if(p->top <0)
printf("\n状态栈3空!\n");
for(i=0; i<=p->top;i++)
{
printf("%d",p->stack[i]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -