栈和队列的概念及应用
一、栈的概念及应用
顺序栈的C语言描述
#define Stack_Size 50
typedef struct
{
StackElementType elem[Stack_Size];
int top;
}SeqStack;
顺序栈的基本操作如下:
①初始化
void InitStack(SeqStack *S)
{
S->top=-1;
}
②判栈空
int IsEmpty(SeqStack *S) //判栈空
{
return (S->top==-1?TRUE:FALSE);
}
③判栈满
int IsFull(SeqStack *S) //判栈满
{
return (S->top==Stack_Size-1?TRUE:FALSE);
}
④进栈
int Push(SeqStack *s, StackElementType x) //进栈
{
if(S->top==Stack_Size-1)
return