1、STL duque是随机访问和快速插入删除,一种容器(双端队列)
定义: deque<数据类型> 变量名;
例如:
deque <int> que;
支持尾部插入(q.push)和首部弹出(q.pop())
一性质:
1、与vector一样,在deque容器的中间insert或者erase元素效率比较低
2、不同于vector容器,deque容器提供高效地在其首部实现insert或erase操作
3、与vector容器一样而不同于list容器的是deuqe容器支持所有元素的随机访问
4、deque容器首部或者尾部插入元素不会任何迭代失效,而在首部或者删除元素则会指向该元素迭代失效。在deque容器的任何其位置的插入和杀出操作将指向该容器元素的所有迭代失效。
#include <deque>
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
deque<int> q;
deque<int>::iterator ator;
for(int i = 0;i < 100; i++)
q.push_back(i);
for(ator = q.begin(); ator != q.end(); ator++)
{
cout << *ator<< " ";
}
cout << endl;
printf("Log size1 =%d\n", q.size());
q.push_front(-1);
printf("Log q[0] =%d \t size2 =%d\n", q.at(0),q.size());
q.pop_front();
printf("Log001 q[0] =%d \t size3 =%d\n", q.at(0),q.size());
q.resize(0);
printf("Log002 q.empty()= %d\n", q.empty());
return 0;
}