目录
简介
双端队列(double-ended queue),顾名思义,两端都可以操作,插入和删除。而且,还可以在中间进行操作。
内部采用线性表顺序结构,与vector不同的是,deque采用分块的线性存储结构存储数据,每块大小512字节。
所有的deque块使用一个Map块进行管理,每个Map数据项纪录各个deque块的首地址。
当考虑容器内部的内存分配策略和操作性能时,deque相对于vector更有优势,同时,也可以用下标来访问。
迭代器
代码
/*
deque
Author:YuBo
Date:2018/2/5
*/
#include<iostream>
#include<deque>
using namespace std;
deque<int> d;
deque<int>::iterator it;
void menu()
{
cout<<"******1.入队 2.出队**********"<<endl;
cout<<"******3.读取队顶 4.读取队尾******"<<endl;
cout<<"******5.队中元素个数 6.显示队列******"<<endl;
cout<<"******7.退出 **********"<<endl;
}
void PUSH()
{
int i,j,place,n,N;
cout<<"******1.前插 2.后插 3.中间插入*****"<<endl;
cin>>j;
switch(j)
{
case 1:{//前面插入,后移
cout<<"请输入你要输入的整数个数:"<<endl;
cin>>N;
cout<<"请输入"<<N<<"个整数:"<<endl;
f