⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stack.h

📁 本程序是实现二叉树跟树的常用算法
💻 H
字号:
template<typename T>class stack;

template<typename T>class stackNode
{

private:
	
	stackNode<T> *next;

	T element;

public:
	
	stackNode(T data,stackNode<T> *l){ element=data; next=l; }

	friend class stack<T>;
};

template<typename T>class stack{

public:

	stack(){ top=NULL;}

	~stack();

	void Push(T data);

	T Pop();

	T GetTop();

	bool IsEmpty(){ return top==NULL;}

	void  MakeEmpty();

private:

	stackNode<T> *top;

};

template<typename T>stack<T>::~stack()
{
	MakeEmpty();
}

template<typename T>void stack<T>::MakeEmpty()
{
	stackNode<T> *temp;

	while(top!=NULL)
	{
		temp=top;

		top=top->next;

		delete temp;
	}
}

template<typename T>void stack<T>::Push(T data)
{
	stackNode<T> *current;

	current=new stackNode<T>(data,top);

	top=current;
}

template<typename T>T stack<T>::Pop()
{
	assert(!IsEmpty());

    stackNode<T> *temp;

	T data;

	temp=top;

	data=temp->element;

	top=top->next;

	delete  temp;

	return data;
}
template<typename T>T stack<T>::GetTop()
{
   assert(!IsEmpty());

   return top->element;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -