1. 程式人生 > >queue:queue清空的方法?

queue:queue清空的方法?

C++中的queue自身是不支援clear操作的,但是雙端佇列deque是支援clear操作的。

方法一

直接用空的佇列物件賦值

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);
}