vector容器是数组的一个泛化推广,不仅可以像数组那样进行元素的随机访问,还可以在容器的尾端插入新元素,实现了Random Access Container和Back Insertion Sequence概念。vector具有自动的内存管理功能,对于元素的插入和删除,能够动态调整占用的内存空间。
创建vector对象
有多种方式
(1) vector(constA&a=A())
创建一个空的vector对象,A是内存分配器,此参数可以省略,相当于一个vector()的调用,如:
vector<int> v;
(2) vector(size_type n)
创建一个具有n个元素的vector对象,每个vector元素具有对应类型下的默认值,且n个vector元素的内存空间已被分配,如:
vector<double> v(10);//每个元素的默认值为0.0
(3) vector(size_type n,const T&value)
创建一个具有n个元素的vector对象,每个元素具有初始值valuevector v(10,9.9); vector(const vector&)
通过拷贝一个vector对象的各个元素值,创建一个新的vector对象。如:
vector<char> v1(10,’c’);
vector<char> v2(v1)
(5) vector(const InputIterator first, const InputIterator last,const A&a=A())
InputIterator为输入迭代器,通过拷贝迭代区间[first,last),如:
int iArray[]={
1,3,5,7,9};
vector<int> v(iArray,iArray+5);
vector初始化
利用vector提供的push_back函数进行vector容器的初始化。如:
vector<int> v;
v.push_back(10);
元素的遍历访问
vector的元素可以通过数组或者迭代器的方式进行遍历访问。
利用数组方式访问vector元素:
#include <vector>
#include <iostream>
using