栈的抽象数据类型

把线性表的插入和删除操作限制在同一端进行,就得到栈数据结构。因此,栈是一个后进先出(last-in-first-out, LIFO)的数据结构。

栈的抽象数据类型如下:

抽象数据类型
{
	实例
		线性表;一端称为底,另一端称为顶
	操作
		empty(); //栈为空时返回true,否则返回false
		 size();  //返回栈中元素个数
		  top();   //返回栈顶元素
		  pop();   //删除栈顶元素
		 push()//将元素x压入栈顶
}

C++抽象类栈

template<class T>
class stack
{
	public:
		virtual ~stack()  {}
		virtual bool empty() const = 0;
					//返回true,当且仅当栈为空
		virtual int size() const = 0;
					//返回栈中元素个数
		virtual T& top() = 0;
					//返回栈顶元素
		virtual void pop() = 0;
					//删除栈顶元素
		virtual void push(const T& theElement) = 0;
					//将元素theElement压入栈顶
}
发布了51 篇原创文章 · 获赞 20 · 访问量 2105

猜你喜欢

转载自blog.csdn.net/weixin_40482465/article/details/104429286
今日推荐