C++ queue清空队列的几种方法
程序员文章站
2024-03-18 12:08:46
...
本文转载来自: http://www.cnblogs.com/zhonghuasong/p/7524624.html
C++中的queue自身是不支持clear操作的,但是双端队列deque是支持clear操作的。Qt中QQueue清空比较简单
例:
QQueue<int> Q; //定义一个int型队列
Q.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);
}