📄 tagstack.h
字号:
#pragma once //这些代码由王昌栋编写,未经允许,不得随便改动,如有问题欢迎提出!
#include <assert.h>
#include <stdlib.h>
#include "tagStackNode.h"
template <class Type> class tagStackNode;
template <class Type> class tagStack //
{
public:
tagStack(); //
~tagStack(); //
void Push(const Type &item); //
Type Pop(); //
Type GetTop(); //
void MakeEmpty(); //
bool IsEmpty(); //
private:
tagStackNode<Type> *top; //
};
template <class Type> tagStack <Type>::tagStack() //
{
top=NULL;
}
template <class Type> tagStack <Type>::~tagStack() //
{
tagStackNode <Type> *p;
while(top!=NULL)
{
p=top;
top=top->link;
delete p;
}
}
template <class Type> void tagStack <Type>::Push(const Type &item)
{
top=new tagStackNode <Type> (item, top);
}
template <class Type> Type tagStack <Type>::Pop()
{
assert(!IsEmpty());
tagStackNode <Type> *p=top;
Type RetValve=p->data;
top=top->link;
delete p;
return RetValve;
}
template <class Type> Type tagStack <Type>::GetTop ()
{
assert(!IsEmpty());
return top->data;
}
template <class Type> bool tagStack <Type>::IsEmpty ()
{
return top==NULL;
}
template <class Type> void tagStack <Type>::MakeEmpty ()
{
tagStackNode <Type> *p;
while(top!=NULL)
{
p=top;
top=top->link;
delete p;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -