#include<iostream>
#include<queue>//队列头文件
using namespace std;
int main(){
int num;
//队列*************************************
queue<int > a;
queue<int > a1;
a.front();//返回队首元素
a.back();//返回队尾元素
a.push(num);//插入队尾
a.pop();//弹出队头,无返回值
a.size();//返回元素个数
a.empty();//判空
a.swap(a1);//交换(前提是二者类型相同)
for(int i=1;i<=10;i++)a.push(i);
//遍历
while(!a.empty()){//非空就继续循环
cout<<a.front();
a.pop();
}
//双向队列*************************************
//双向队列: include<deque>这个文件包含于queue头文件中
deque<int > ch;
deque<int > ch2;
ch.push_front(num);//在队头插入元素
ch.push_back(num);//在队尾插入元素
ch.pop_front();//弹出队头元素
ch.pop_back();//弹出队尾元素,无返回值
ch.front();//返回队头元素
ch.back();//返回队尾元素
ch.size();//元素个数
ch.empty();//判空
ch.swap(ch2);//交换
ch[1];//ch[i]获取第i个元素,队头是第0个
ch.at(1);//同上,差别细微
ch.clear();
ch.begin();ch.end();//双向队列就可以用迭代器啦
for(int i=1;i<=10;i++)ch.push_back(i);
//遍历
for(int i=1;i<=10;i++)cout<<ch[i]<<endl;
deque<int >::iterator it;
for(it=ch.begin();it!=ch.end();it++)cout<<*it<<endl;
return 0;
}
C++ STL queue队列,deque双向队列
于 2023-03-22 00:07:36 首次发布