在这里,直接给出了栈的实现代码:
栈的原理就像是水杯,往里面放饼干,先放的当然在底部,后放的就在上面,要拿饼干来吃,当然就只能从上面拿,体现了栈的<先进后出>的原理
#include
using namespace std;
typedef char Elm;
struct node
{
Elm data;
node* next;
};
node* top=NULL;//顶指针
node* low=NULL;//低指针
void push(Elm A)
{
node *r=new node;r->data=A;r->next=NULL;
if(top==NULL)
{
low=r;
top=r;
}
else
{
node* s=top;
r->next=s;
top=r;
}
}
void pop()//弹出栈顶元素
{
if(top==NULL)
{
low=NULL;
cout<<"栈无元素,弹出失败!";
return ;
}
node *s=top;
top=s->next;
delete s;
}
Elm front()//获得栈顶元素
{
if(top==NULL)
{
cout<<"栈无元素,获取失败!";
return '0';
}
else
{
return top->data;
}
}