Vector的特点:
在数组末尾添加元素所需要的时间是固定的,即在末尾插入元素的所需时间不随数组大小而异,在末尾删除元素也如此
在数组中间添加或删除元素所需要的时间与该元素后面的元素个数成正比
存储的元素数是动态的,而vector类负责管理内存
Vector的使用
头文件:#include<vector>
实例化:
需要指定该动态数组中存储的对象类型:vector<数据类型> 名称;
#include#include using namespace std;int main() { //声明一个动态数组 vector vecIntegers; //初始含有十个元素的动态数组 vector vecWithTenElements(10); //初始含有十个元素,且每个元素被初始化为90的动态数组 vector vecWithInitializedElements(10, 90); //建立一个动态数组,其初始值由vecWithinitializedElements复制而来,该构造函数只能用于类型类似的对象 vector vecArrayCopy(vecWithInitializedElements); //建立一个动态数组,其初始值由vecWithTenElements的前五个值决定 //当使用的编译器未使用c++11标准,则使用begin和end代替cbegin和cend,cbegin和cend返回一个迭代器 vector vecSomeElementsCopied(vecWithTenElements.cbegin(), vecWithTenElements.cbegin() + 5); system("pause"); return 0;}
声明迭代器:
list<int>::const_iterator iElementInset;
使用push_back()在末尾插入元素:
vecIntegers.push_back(50); vecIntegers.push_back(1); vecIntegers.push_back(987); vecIntegers.push_back(1001); cout << "The vector contains :"; cout << vecIntegers.size() << "Elements" << endl;
使用初始化列表初始化动态数组
vector vecIntegers = { 50,1,987,1001 };
使用insert()在指定位置插入元素