//构造函数
//deque()
deque<int> d1;
//explicit deque(const _Alloc& _Al)
deque<int> d2;
//deque(size_type _Count, const value_type& _Val)
deque<int> d3(3, 3);
//deque(const _Myt& _Right)
deque<int> d4(d3);
//deque(_Iter _First, _Iter _Last)
int arr[] = { 1, 2, 34, 43, 21 };
deque<int> d5(arr, arr + 5);
//添加元素
deque<int> v6;
v6.push_back(3);
//使用下标遍历
for (size_t i = 0; i < d3.size(); ++i)
{
cout << "v[" << i << "]=" << d3[i] << endl; //3 3 3
}
//使用迭代器遍历
deque<int>::iterator iter;
size_t j;
for (iter = d5.begin(), j = 0; iter != d5.end(); ++iter, ++j)
{
cout << "v[" << j << "]=" << *iter << endl; //1 2 34 43 21
}
//反向遍历
deque<int>::reverse_iterator riter;
size_t k = d5.size() - 1;
for (riter = d5.rbegin(); riter != d5.rend(); ++riter, --k)
{
cout << "v[" << k << "]=" << *riter << endl; //21 43 34 2 1
}
//插入元素
d5.push_front(14);
d5.insert(d5.begin(), 8);
for (iter = d5.begin(), j = 0; iter != d5.end(); ++iter, ++j)
{
cout << "v[" << j << "]=" << *iter << endl; //8 14 1 2 34 43 21
}
//删除元素
d5.pop_front();
d5.pop_back();
d5.erase(d5.begin());
d5.erase(d5.begin(), d5.begin() + 1);
for (iter = d5.begin(), j = 0; iter != d5.end(); ++iter, ++j)
{
cout << "v[" << j << "]=" << *iter << endl; //2 34 43
}
//删除所有元素
d5.clear();
//交换两个容器
d5.swap(d4);
//容器是否为空
bool b = d5.empty();
//实际元素个数
size_t count = d5.size();
//容器最大元素个数
size_t max_count = d5.max_size();
//首元素,要求容器不为空
int vFront = d5.front();
//末元素,要求容器不为空
int vEnd = d5.back();