1.1vector特点
- 是大小可变数组的序列容器
- 采用连续的存储空间来存储元素
- 在分配空间时,会额外分配一些capacity以适应可能的增长
1.2vector的使用
1.2.1(构造函数)的模拟实现
vector()=defaul;//无参构造
vector(size_t n,const T& value=T())//构造并初始化n个value
{
reserve(n);
for(size_t i=0;i<n;i++)
{
push_back(value);
}
}
vector(const vector& x)//拷贝构造
{
reserve(x.capacity);
for(auto e:x)
{
push_back(e);
}
}
vector(Inputiterator first,Inputiterator last)//用迭代器进行初始化构造
{
while(first!=last)
{
push_back(*first);
first++;
}
}
1.2.2迭代器的使用

1.2.3vector空间增长问题
- size()-------获取数据个数
- capacity()--------获取容量大小
- empty()--------判断是否为空
- resize()---------改变size
- reserve()--------改变capacity
(vs下的capacity是按1.5倍增长,g++2倍增长)
1.2.4vector的增删查改
- push_back()-----尾插
- pop_back()------尾删
- find()------查找(但他不是vector的接口函数)
- insert()------在pos位置之前插入
- erase()------删除pos位置的数据
- swap()-------交换两个vector的数据空间
- operator[]像数组一样访问
1090

被折叠的 条评论
为什么被折叠?



