C++ 清空隊列(queue)的幾種方法

C++中的queue自身是不支持clear操做的,可是雙端隊列deque是支持clear操做的。c++

方法一

直接用空的隊列對象賦值code

queue<int> q1;
// process
// ...
q1 = queue<int>();

方法二

遍歷出隊列對象

while (!Q.empty()) Q.pop();

方法三

使用swap,這種是最高效的,定義clear,保持STL容器的標準。隊列

void clear(queue<int>& q) {
    queue<int> empty;
    swap(empty, q);
}
相關文章
相關標籤/搜索