//stack.cpp
#include"stack.h"
//入栈的实现
void stack::push(int x)
{
list *newnode=new list; //创建一个list类型的结点
newnode->data=x; //结点的数据域
newnode->next=ptr; //结点的指针域
ptr=newnode;
}
//出栈的实现
int stack::pop()
{
list *top; //定义一个栈顶指针
int value; //value用来保存要释放的元素
value=ptr->data; //后进先出,ptr这时保存的刚好是最后入栈的元素
top=ptr;
ptr=ptr->next; //ptr这时指向前一个入栈的元素
delete top; //一切处理后,top终于可以释放
return value; //返回value以便显示出栈的元素
}
//取站定元素
int stack:: getTop()
{
int value=ptr->data;
return value;
}
- 1
- 2
- 3
前往页