欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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