stack.h

来自「自编的波兰、逆波兰、中缀表达式计算的小程序」· C头文件 代码 · 共 55 行

H
55
字号
#include<stdio.h>
#include<stdlib.h>

typedef struct
{
datatype a[maxsize];
int top;
}stack;

void initiate(stack * s)
{
s->top=0;
}

int empty(stack s) /* 为便于调用时进行判断,将堆栈空设为0,不空设为1*/
{
if(s.top<=0)
return 0;
else
return 1;
}

int full(stack s) /* 满设为0 不满设为1 */
{
if(s.top>=maxsize)
return 0;
else return 1;
}

datatype top(stack s)
{
if(empty(s))
return s.a[s.top-1];
else exit(1);
}

void push(stack * s,datatype i)
{
s->a[s->top]=i;
s->top++;
}

datatype pop(stack * s)
{
datatype d;
d=s->a[s->top-1];
s->top--;
return d;
}

void disply(void)
{
printf("Press any key to continue...\n");
while(getchar()==NULL);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?