向量类
在使用数组来存储字符串和数字的时候,有一个严重的局限性:数组大小在声明时已经确定。而向量的功能如同可变数组,即向量的大小相比于数组可以动态地增长。在使用向量前,首先要导入<vector>头文件。
创建向量
创建向量的语法如下:
vector<elementType> vectorName; //如创建一个int类型的向量 //vector<int> intVector; //创建一个string类型的向量 //vector<string> stringVector;
向量类的几种常用函数
函数 | 描述 |
vector<elementType>() |
用指定的元素类型创建一个空向量 |
vector<elementType>(int size) |
创建初始大小的向量,元素值为缺省值 |
vector<elementType>(int size, elementType defaultValue) |
创建初始大小的向量,元素值为给定值 |
void push_back(elementType element) |
追加一个元素到向量 |
void pop_back() |
删除向量的最后一个元素 |
unsigned const size() |
返回向量中元素的个数 |
elementType const at(int index) |
返回指定位置的元素 |
bool const empty() |
如果向量为空返回真 |
void clear() |
删除向量中所有元素 |
void swap(vector v) |
交换此向量与另一个向量v的内容 |
如创建一个大小为10,默认值为1的int类型向量:
vector<int> intVector(10, 1);
访问向量的元素也可以用下标运算符[],如打印向量的第一个元素:
cout << intVector[0] << endl;
向量和数组的比较
操作 | 数组 | 向量 |
创建 | string str[10] | vector<string> v |
访问 | str[index] | v[index] |
更新 | str[index] = "C++" | v[index] = "C++" |
返回大小 | v.size() | |
追加新元素 | v.push_back("C") | |
删除最后的元素 | v.pop_back() | |
删除所有的元素 | v.clear() |