堆栈又称为栈, 是一种应用十分广泛的数据结构. 在一端进行插入和删除.因此后进入的原始必须先退出,先进入必须后退出,栈底(bottom),栈顶(top),通常说"后进先出"(Last In First Out,简称LIFO)或"先进后出"(FILO)
堆栈的基本运算:
int stack[MAX]; /*数组下标从0~MAX-1/
int tp; /*top of stack,全局变量*/
1,进栈
void push(char x)
{
if(tp>=MAX)
{
printf("stack 满了/n"); /*上益的提示*/
return ;
}
stack[tp]=x;
tp++;
}
2.出栈
pop()
{
tp--;
if(tp<0)
{
printf("stack 下益/n");
return 0;
}
return stack[tp];
}
3.读栈顶元素
char top()
{
if(tp<=0)
printf("error");
else
return stack[tp];
}
4.判断是否为空栈
sempty()
{
int k;
if(tp==0)
k=1; //空栈
else
k=0; //非空
return k;
}
5.取出栈顶元素
char ptop()
{
char w;
w=top();
pop();
return w;
}