25.deque不提供容量操作(capacity()和reserve())。
26.deque直接提供函数,用以完成头部元素的插入和删除(push_front()和pop_front())。
27.当容器中的元素有改变时一定要注意迭代器的重定向!!!!!!!!
28.Deque中的函数
代码如下:
#include "Utility.h"
template<typename T>
void PrintContainer(T _container)
{
for (T::iterator iter = _container.begin();
iter != _container.end();
++iter)
{
cout << (*iter) << ",";
}
cout << endl;
}
template<typename T>
void printContainer_Reverse(T _container)
{
for (T::reverse_iterator riter = _container.rbegin();
riter != _container.rend();
++riter)
{
cout << (*riter) << ",";
}
cout << endl;
}
void main()
{
//----------STL容器:deque------------
deque<int> iDeque1; //产生一个空的deque容器
PrintContainer(iDeque1);
deque<int> iDeque2(iDeque1);
PrintContainer(iDeque2);
deque<int> iDeque3(5);
PrintContainer(iDeque3);
deque<int> iDeque4(5,1);
PrintContainer(iDeque4);
int iArray[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
deque<int> iDeque5(&iArray[0], &iArray[5]);
if (!iDeque5.empty())
PrintContainer(iDeque5);
cout << "iDeque中元素个数为:" << iDeque5.size() << endl;
iDeque5.assign(3, 2);
PrintContainer(iDeque5);
iDeque5.assign(&iArray[6], &iArray[10]);
PrintContainer(iDeque5);
iDeque4.swap(iDeque5);
swap(iDeque4, iDeque5);
deque<int>::const_iterator pos = iDeque5.begin();
pos += 2;
iDeque5.insert(pos, 100);
PrintContainer(iDeque5);
pos = iDeque5.begin();
pos += 2;
iDeque5.insert(pos, 3, -1);
PrintContainer(iDeque5);
pos = iDeque5.begin();
pos += 2;
iDeque5.insert(pos,&iArray[0],&iArray[3]);
PrintContainer(iDeque5);
pos = iDeque5.begin();
pos += 2;
iDeque5.erase(pos);
PrintContainer(iDeque5);
iDeque5.push_back(1001);
iDeque5.push_back(1002);
iDeque5.push_front(9999);
PrintContainer(iDeque5);
iDeque5.pop_front();
iDeque5.pop_front();
iDeque5.pop_back();
PrintContainer(iDeque5);
iDeque5.resize(3);
PrintContainer(iDeque5);
iDeque5.resize(5);
PrintContainer(iDeque5);
iDeque5.resize(7,-1);
PrintContainer(iDeque5);
for (unsigned int i = 0; i < iDeque5.size(); ++i)
cout << iDeque5[i] << ",,";
cout << endl;
cout << iDeque5.at(3) << endl;
printContainer_Reverse(iDeque5);
cout << "Deque容器的第一个元素为:" << iDeque5.front() << endl;
cout << "Deque容器的最后一个元素为:" << iDeque5.back() << endl;
system("pause");
}