#include <iostream>
#include <queue>
#include <vector>
#include <deque>
using namespace std;
int main(){
//deque双端队列支持随机存储 是和vector类似 deque相当于拓展版的vector
//vector在数组结尾插入删除是O(1)的 在数组开头插入删除是O(n)的
//deque在数组开头结尾插入删除都是O(1)的
//deque虽然看起来弔 但是运行效率平均下来比其他vector 队列 栈的慢 而且慢很多
//因为他的常数比较大
deque<int> a;
a.begin(), a.end();
a.front(), a.back();
a.push_back(1);
//是指在最后插入一个元素
a.push_front(1);
//是指在开头插入一个元素 因为注释在一行会隐藏掉下划线 所以分两行
a[0];//是指随机访问一个元素
a.pop_back();
//弹出最后一个元素
a.pop_front();
//弹出第一个元素
a.clear();//清空一个deque
return 0;
//队列和堆完全不一样 为甚么 把优先队列和堆放到队列的头文件呢?不知道
//队列是用堆实现的
//函数调用用的那个栈和这个栈是不一样的 函数调用指的是逻辑上的栈 是用汇编实现的
}