【发布时间】:2012-02-13 16:21:34
【问题描述】:
我有兴趣将 this Python code 移植到 C++。作为端口的一部分,我使用来自<stack> 标头的std::stack。如何确定某个字符是否包含在 stack<char> 中?例如:
std::stack<char> myStack
if (!('y' is included in myStack)) // I know that this is wrong
{
}
【问题讨论】:
-
请问你为什么用stack而不是set?
-
无法迭代/查找
std::stack,您只能查看最后推送的项目并将其弹出。您可能需要另一个容器。 -
如果您想查看所有元素,您可能不需要堆栈。
-
在 C++ 中,堆栈只是围绕顺序访问容器(默认为
std::deque)的薄包装器,它有意限制对除顶部之外的所有元素的访问。您想消除该限制,因此只需使用顺序访问容器(向量、双端队列或列表)。
标签: c++ search data-structures stack