颠倒队列,就用栈辅助;颠倒栈,就用队列辅助。
//使用大小为k的辅助堆栈
//随后将没有入栈的部分扔到队列前面
void reversalQueue2(queue<int>& que, int k)
{
//默认k<que.size()
stack<int> stk;
for (int i = 0; i < k; ++i)
{
stk.push(que.front());
que.pop();
}
while (!stk.empty())
{
que.push(stk.top());
stk.pop();
}
for (int i = 0; i < que.size() - k; ++i)
{
que.push(que.front());
que.pop();
}
}
本文由 Ryan 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2019/01/28 17:48