📄 stack.h
字号:
template<class type>class stack;
template<class type> class stacknode
{
friend class stack<type>;
private:
type data;
stacknode<type>* link;
stacknode(type d=0, stacknode<type>*l=NULL):data(d),link(l){}
};
template<class type> class stack
{
public:
stack():top(NULL){}
~stack();
void Push(type item);
type Pop();
type GetTop();
void makeempty();
int IsEmpty() const{ return top==NULL;}
private:
stacknode<type> *top,*p;
};
template<class type> stack<type>::~stack()
{
stacknode<type> *p;
while(top!=NULL)
{
p=top; top=top->link; delete p;
}
}
template <class type> void stack<type>::Push(type item)
{
top=new stacknode<type>(item, top);
}
template <class type> void stack<type>::makeempty()
{
top=NULL;
}
template<class type> type stack<type>::Pop()
{
if(IsEmpty()) return 0;
else
p=top;
type retvalue=p->data;
top=top->link;
delete p;
return retvalue;
}
template< class type> type stack<type>::GetTop()
{
if(IsEmpty()) return 0;
else
return top->data;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -