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

📄 linstack.h

📁 数据结构头文件源代码
💻 H
字号:
#include"StackNode.h"


template<class T>
class LinStack
{
	private:
		StackNode<T> *top;
		int size;
	public:
		LinStack(void)
		{
			top=NULL;
			size=0;
		};
		~LinStack(void)
		{
			ClearStack();
			top=NULL;
		};

		int StackSize(void)const
		{return size;};
		int StackEmpty(void)const
		{
			if(size<=0) return 1;
			else return 0;
		};
		void Push(const T &item);
		T Pop(void);
		T Peek(void);
		void ClearStack(void);
};
template<class T>
void LinStack<T>::Push(const T &item)
{
	StackNode<T> *newNode=new StackNode<T>(item,top);
	top=newNode;
	size++;
}

template<class T>
T LinStack<T>::Pop(void)
{
	if(size==0)
	{
		cout<<"堆栈为空无元素可删!"<<endl;
		exit(0);
	}
	StackNode<T> *p=top->next;
	T data=top->data;
	delete top;
	size--;
	top=p;
	return data;
}
template<class T>
T LinStack<T>::Peek(void)
{
	return top->data;
}
template<class T>
void LinStack<T>::ClearStack(void)
{
	StackNode<T> *p,*pl;
	p=top;
	while(p!=NULL);
	{
		pl=p;
		p=p->next;
		delete pl;
	}
	size=0;
}




⌨️ 快捷键说明

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