本文整理汇总了C++中queue::swap方法的典型用法代码示例。如果您正苦于以下问题:C++ queue::swap方法的具体用法?C++ queue::swap怎么用?C++ queue::swap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类queue
的用法示例。
在下文中一共展示了queue::swap方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: levelOrderBottom
vector<vector<int> > levelOrderBottom(TreeNode *root) {
vector<vector<int> > answer;
if (root == NULL)
{
return answer;
}
queue<traverseNode> tmpQueue;
traverseQueue.swap(tmpQueue);
traverseQueue.push(traverseNode(root, 1));
while(!traverseQueue.empty())
{
traverseNode topNode = traverseQueue.front();
if (topNode.level > answer.size())
{
vector<int> emptyVector;
answer.push_back(emptyVector);
}
answer[topNode.level - 1].push_back(topNode.node->val);
traverseQueue.pop();
if (topNode.node -> left != NULL)
{
traverseQueue.push(traverseNode(topNode.node->left, topNode.level + 1));
}
if (topNode.node -> right != NULL)
{
traverseQueue.push(traverseNode(topNode.node->right, topNode.level + 1));
}
}
for (int i = 0; i < (answer.size()/2); i++)
{
answer[i].swap(answer[answer.size() - i - 1]);
}
return answer;
}
示例2: pop
void pop()
{
if (q1.empty()) throw runtime_error("bad operation");
while (q1.size() != 1) {
q2.push(q1.front());
q1.pop();
}
q1.pop();
q1.swap(q2); // swap element back
}
示例3: swap
inline void swap( queue<T, Container> &left, queue<T, Container> &right )
noexcept( noexcept( left.swap( right ) ) )
{
left.swap( right );
}