queue不可以遍历,queue是先进后出的数据类型,
如果一定要遍历,只能不断读top()然后再pop()掉。把队首元素移除,然后push回去。
故意把遍历操作隐藏掉了,因为如果要遍历就不该用queue。
#include<iostream> #include<queue> using namespace std; int main(int argc, char* argv[]) { queue<int> myqueue; myqueue.push(1); myqueue.push(2); myqueue.push(3); int myqueue_size = myqueue.size(); for(int i = 0; i < myqueue_size; i++) { //myqueue_size 必须是固定值 cout << myqueue.front() << endl; myqueue.push(myqueue.front()); myqueue.pop(); } }