在 C++ 中,栈(Stack)是一种后进先出(LIFO,Last In First Out)的数据结构,表示最后插入的元素最先被移除。C++ 提供了 STL(Standard Template Library)中的 std::stack 容器适配器来方便使用栈。
std::stack 的使用
std::stack 是一个容器适配器,它默认使用 std::deque 作为底层容器,但也可以使用其他序列容器(如 std::vector 或 std::list)。
基本操作:
push(): 向栈顶添加元素。
pop(): 移除栈顶元素(注意不会返回被移除的元素)。
top(): 访问栈顶元素(但不移除)。
empty(): 检查栈是否为空。
size(): 返回栈中元素的数量。
例题:有效括号序列
给出一个仅包含字符’(‘,’)‘,’{‘,’}‘,’[‘和’]',的字符串,判断给出的字符串是否是合法的括号序列
括号必须以正确的顺序关闭,"()“和”()[]{}“都是合法的括号序列,但”(]“和”([)]"不合法。