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

📄 linkstack.h

📁 上传几个数据结构源代码
💻 H
字号:
#include"Stack.h"
template<class T>
struct Node
{
	T data;
	Node<T> *pNext;
};
template<class T>
class LinkStack: public Stack<T>
{
	private:    //属性
      Node<T> *m_pTop;
	  int m_num;
//methods
   bool  Create(int max=0)
   {
	   m_pTop=NULL;
	   m_num=0;
	   return true;
   }
	public:
		bool IsEmpty()const
		{
			return m_num<=0;
		}
		bool IsFull()const
		{
		  Node<T> *p=new Node<T>;
		  delete p;
		  if(p)
			  return false;
		  else
			  return true;
		}
		void Pop()
		{
			Node<T> *p=m_pTop;
			m_pTop=p->pNext;
			delete p;
			m_num--;
		}
		void Push(T  &x)
		{
			Node<T> *p=new Node<T>;
			p->data=x;
			p->pNext=m_pTop;
			m_pTop=p;
			m_num++;
		}
		T Top()const
		{
			return m_pTop->data;
		}
		LinkStack()
		{
			Create();
		}
		~LinkStack()
		{
			if(IsEmpty()==0)
			{
			Node<T> *p;
			for(int i=0;i<m_num,p=m_pTop->pNext;i++)
			{
                delete m_pTop;
		        m_pTop=p;
		
			}
			}
			else
			{}
		}
};

⌨️ 快捷键说明

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