C++ queue stack 清空操作
没有 q.clear()
这种操作啊
一个一个 pop
出来肯定是可以的
还可以直接给对象赋空值
最高效的方法就是和空队列/栈进行 swap
:
//queue
void clearQueue1(queue<elemType> & q) {
queue<elemType> empty;
swap(empty, q);
//or:
//queue<elemType>().swap(q);
}
void clearQueue2(queue<elemType> & q) {
q = queue<int>();
}
//stack
void clearStack1(stack<elemType> &s){
s = stack<elemType>();
}
void clearStack2(stack<elemType> &s){
stack<elemType>().swap(s);
}