4 vector容器
4.1 vector基本概念
4.2 vector构造函数
代码示例:
4.3 vector赋值操作
示例代码:
4.4 vector容量和大小
示例代码:
4.5 vector插入与删除
4.6 vector 数据存取
4.7 vector互换容器
实际用途:
解决方法:
4.8 vector预留空间
总共开辟了30次空间。 如何解决呢?预留空间reserve。
5 deque容器
5.1 deque基本概念
5.2 deque构造函数
四种示例代码如下:
5.3 deque赋值操作
示例代码:
总结:
5.5 deque大小操作
示例代码:
总结:
5.5 deque插入与删除
两端插入删除:
指定位置操作:
示例代码:
#include<iostream>
using namespace std;
#include <deque>
//deque容器的插入与删除
void printDeque(const deque<int>&d)
{
for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
//两端操作
void test01()
{
deque<int>d1;
//尾插
d1.push_back(10);
d1.push_back(20);
//头插
d1.push_front(30);
d1.push_front(40);
printDeque(d1); //40 30 10 20
//尾删
d1.pop_back();
printDeque(d1); //40 30 10
//头删
d1.pop_front();
printDeque(d1); //30 10
}
void test02()
{
deque<int>d2;
d2.push_back(10);
d2.push_back(20);
d2.push_front(30);
d2.push_front(40);
printDeque(d2); //40 30 10 20
//insert插入
d2.insert(d2.begin(), 100);
printDeque(d2); //100 40 30 10 20
d2.insert(d2.begin(),2,1000);
printDeque(d2); //1000 1000 100 40 30 10 20
//按照区间进行插入
deque<int>d1;
d1.push_back(1);
d1.push_back(1);
d1.push_back(1);
d2.insert(d2.begin(), d1.begin(), d1.end());
printDeque(d2); //1 1 1 1000 1000 100 40 30 10 20
}
void test03()
{
deque<int>d1;
//尾插
d1.push_back(10);
d1.push_back(20);
//头插
d1.push_front(30);
d1.push_front(40); //40 30 10 20
//删除
deque<int>::iterator it = d1.begin();
it++;
d1.erase(it);
printDeque(d1); //40 10 20
//按照区间方法删除
d1.erase(d1.begin(),d1.end()); //全部删除
}
int main()
{
test03();
system("pause");
return 0;
}
5.6 deque数据存取