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