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

📄 stack.h

📁 编译器很好用
💻 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 + -