栈的实现
包括:动态扩容、删除、遍历、插入元素🤣
模板类 整就完事了~就没用STL了 🤭
//栈
//include包括的头文件就是常见的头文件 就不再添加了
template<typename T>
class Stack
{
public:
Stack()
{
this->Maxsize = 2;
this->base = new T[Maxsize];//分配内存
top = base;
};
~Stack()
{
this->Maxsize = 0;
if (this->base!=NULL)
{
this->base = NULL;
delete [] base;
}
};
void PushElem( T a);
T PopElem();
void ShowElem();
bool Isempty();
void ClearStack();
void DestroyStack();
T GetTopElem();
T GetLength();
private:
T * top;
T * base;
int Maxsize;
};
template<typename T>
void Stack<T>::PushElem( T a)
{
if (this->top-this->base==Maxsize