您的位置:首页 > 编程语言 > C语言/C++

C++ STL--vector向量容器学习笔记

2014-02-15 11:02 639 查看
vector容器是一个线性结构,简单高效。在尾部插入和删除元素,算法时间复杂度为O(1)常数阶。其他元素的插入和删除为O(n)线性阶,其中n为vector容器的元素个数。vector具有自动的内存管理功能,对于元素的插入和删除,可动态调整所占用的内存空间。

vector容器可以进行数组一样的元素随机访问,还可以在容器的尾部插入新元素。

创建vector对象

1)vector(const A&a=A())

创建一个空的vector对象,A是内存分配器,此参数可省略,相当于一个vector()的调用。

下面的实例代码为创建了vector对象v

vector<int> v;


2)vector(size_type n)

创建一个具有n个元素的vector对象,每个vector元素具有它的类型下的默认值

下面的实例代码为创建了具有10个元素的vector对象v,每个元素的默认值为0.0

vector<double> v(10);


3) vector(size_type n,const T& value)

创建一个具有n个元素的vector对象,每个元素具有初始值value。

下面的实例代码为创建一个具有10个元素的vector对象v,每个元素的初始值为9.3

vector<double> v(10,9.3)


4)vector(const vector&)

通过拷贝一个vector对象的各个元素值,创建一个新的vector对象。

下面的实例代码为使用v1对象创建v2对象,此时,v2对象的5个元素也具有字符值‘k’。

vector<char> v1(5,'k');
vector<char> v2(v1);


5)vector(const InputIterator first,const InputIterator last,const A&a=A())

InputIterator为输入迭代器,通过拷贝迭代器区间的元素值,创建一个新的vector对象,内存分配器可省略。

下面的实例代码为利用int数组iArray各元素值,创建了vector对象v

int iArray[]={1,2,3,4,5}
vector<int> v(iArray,iArray+3);


初始化赋值

vector提供的push_back函数,常用来进行vector容器的初始化。push_back函数在容器的尾端插入新元素value

下面的实例代码为将1,2,3添加到vector容器中

vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);


待续...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: