双端队列, 一种放松了访问限制的队列。
队尾和队头都可以插入元素 和 删除元素。
deque 和 vector 类似,但是内部的数据机制和执行性能不同,
考虑到容器元素的内存分配和操作的性能,deque较有优势
1.deque的构造函数
deque();
deque(size_type num, TYPE &val);
deque(const vector &from);
deque(input_iterator start, input_iterator end);
2.访问deque信息
max_size()//返回deque可以最容纳元素的数量
size()//返回deque当前元素的数量
empty()//判断deque 是否为空,为空时返回TRUE,否则返回FALSE。
3.存取deque信息
构造函数
push_back()
push_front()
insert()
数组元素符
赋值运算符
pop_back()
pop_front()
erase()
begin()
end()
rbegin()//返回一个逆序迭代器,指向容器的最后一个元素
rend()//返回一个逆序迭代器,指向容器的第一个元素前面的位置
size
maxsize
#include<iostream>
#include<functional>
#include<deque>
#include<ctime>
using namespace std;
int main(){
const int Size = 6;
unsigned int i;
deque<int>nums;
srand((unsigned)time(0));
for(i = 0; i < Size; i++){
int temp = rand();
cout<<rand()<<endl;
nums.push_back(temp);
}
cout<<endl;
for(i = 0; i < Size; i++){
cout<<"nums["<<i<<"] = "<<nums[i]<<endl;
}
cout<<endl;
return 0;
}
#include<iostream>
#include<deque>
#include<ctime>
using namespace std;
int main(){
const int Size = 6;
unsigned int i;
deque<int >nums;
srand((unsigned)time(0));
for(i = 0; i < Size; i++){
int temp = rand();
cout<<temp<<endl;
nums.push_back(temp);
}
cout<<endl;
deque<int>::iterator it ,ited;
it = nums.begin();
ited = nums.end();
for(deque<int>::iterator j = it; j != ited; j++){
cout<<*j<<endl;
}
return 0;
}