赞
踩
来源:https://stackoverflow.com/questions/40201711/how-can-i-clear-a-stack-in-c-efficiently/40201744
C++STL中有队列queue和栈stack两个模板类,但是这两个类都没有像数组vector一样的clear()函数,传统方法清空一个队列或栈,使用循环:
队列:
queue<int> q;
while(!q.empty()) q.pop();
栈:
stack<int> s;
while(!s.empty()) s.pop();
若不使用循环,可以用以下两个方法(以队列为例,栈同理):
q=queue<int>();
或
queue<int>().swap(q);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。