stack.h

来自「提供文本的无损压缩功能」· C头文件 代码 · 共 53 行

H
53
字号
 #ifndef LINKEDSTACK_H
#define LINKEDSTACK_H
#include "BinaryTree.h"
#define  MaxTop 50
template<class T>
class LinkedStack
{
public:
	     LinkedStack(){ stack = new T[50]; top=-1;}
	    ~ LinkedStack (){delete [] stack;}
	    void Push(const T & item);//将压item入栈
         T Pop();                 //将栈顶元素弹出栈
		void ClearStack();         //将栈清空
	    T Peek() const;          //访问栈顶元素
		bool StackEmpty()const{return top==-1;}
		bool StackFull()const{return top==50;}
private:
		int top;
		//int  stacklist[MaxStackSize]; //存放栈的元素
		/*int MaxTop;*/
	  T *stack;//存放栈的元素

};
template<class T> 
void LinkedStack<T>::Push(const T & item)
{
	top++;
	stack[top]=item;
   
}
 template<class T> 
T LinkedStack<T>::Pop()
{
	T temp;
    temp=stack[top];
	top--;
	return temp;

}
template<class T> 
void LinkedStack<T>::ClearStack()
{
	top=-1;
}
template<class T> 
T LinkedStack<T>::Peek() const
{
	if(top==-1)
		cout<<"False!"<<endl;
	return stack[top];
}

#endif

⌨️ 快捷键说明

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