注意:C++中的队列queue自身不支持clear操作,但双端队列deque是支持clear操作的。
方法一:直接用空的队列对象赋值
代码:
queue<int> q;
q=queue<int>();
方法二:遍历出队列
代码:
while(!q.empty()){
q.pop();
}
方法三:使用swap实现
使用swap定义clear,保持STL容器的标准,这种是最高效的
void clear(){
queue<int> empty;
swap(empty,q);
}