【C++】C++清空队列(queue)的操作

文章目录

  • 方法一 遍历出队列
  • 方法二 赋空值
  • 方法三 用swap与空队列替换

C++的queue本身不支持clear()操作,我们需要手动完成。

方法一 遍历出队列

适用于FIFO队列和优先队列。

while(!q.empty()) q.pop();

方法二 赋空值

适用于FIFO队列。

q=queue<int>();

方法三 用swap与空队列替换

适用于FIFO队列 ↓

inline void clear(queue <int> &q) {
    queue <int> empty;
    swap(empty,q);
}

clear(q);

适用于优先队列 ↓

inline void clear(priority_queue <int> &q) {
    priority_queue <int> empty;
    swap(empty,q);
}

clear(q);

你可能感兴趣的:(#,C++)