(容器配接器)堆栈应用:判断表达式中的括号是否匹配

堆栈是项的有限序列,满足:

1)序列中被删除、检索和修改的项只能是最近插入序列的项(栈顶)。

堆栈中的项是反时间排序存储的:后入,先出。简称LIFO。

stack类的部分方法接口(少于10个):

// vector、deque和list都可以作为stack的基础容器类。
// 堆栈的顶部是基础容器类的尾部。
template <class T, class Container = deque<T>>
	class stack
	{
	public:
		typedef T value_type;
		// 保留字 explicit 只能和构造器一起使用,
		// 它指示编译器不应当在构造器语句中执行自动类型转换。
		explicit queue(const Container& = Cantainer());
		// 堆栈为空? true : false
		bool empty() const;
		// 返回这个堆栈中项的数量
		unsigned size() const;
		// 将项 x 插入到这个堆栈的顶部(插入堆栈)
		void push(const value_type& x);
		// 返回对栈顶的引用(修改堆栈)
		T& top();
		// 返回对栈顶的常量引用(检索堆栈)
		const T& top();
		// 调用前栈顶的项将从这个堆栈中删除
		void pop();
	protected:
		// 堆栈中的每个实例包含一个容器模板,缺省为 deque<T>
		Container c;
	};

// 部分实现
template <class 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值