geo*_*ano 2 c++ search stack data-structures
我有兴趣将这个Python代码移植到C++.作为港口的一部分,我用std::stack从<stack>头.如何确定某个字符是否包含在某个字符中stack<char>?例如:
std::stack<char> myStack
if (!('y' is included in myStack)) // I know that this is wrong
{
}
Run Code Online (Sandbox Code Playgroud)
C++ stack不支持随机访问,因此没有直接的方法来使用a stack来检查是否包含元素.但是,您可以复制堆栈,然后连续pop关闭该堆栈,直到找到该元素.
或者,如果您确实需要搜索stack,则可以考虑改为使用deque支持随机访问的a.例如,您可以使用a上的find算法deque来搜索元素:
find(myDeque.begin(), myDeque.end(), myValue);
Run Code Online (Sandbox Code Playgroud)
如果你需要经常搜索stack,请考虑保持一个平行set与stack存储相同的元素stack.这样,您可以使用set::find(有效地)检查元素是否存在.
希望这可以帮助!