文章目录
- Vector
- 定义和初始化
- 访问和遍历
- 插入和删除
- 大小和容量
- 其他操作
Vector
vector是C++中STL(Standard Template Library)库中的一个容器,可以用来存储和管理一组数据
。
定义和初始化
定义vector对象需要使用vector<数据类型> 变量名
这样的格式,其中数据类型可以是任何C++内置类型或用户自定义类型。定义好之后,可以使用push_back()
函数将元素添加到vector对象中。
#include <vector>
using namespace std;// 定义和初始化
vector<int> vec1; // 空vector对象
vector<int> vec2(10); // 包含10个值为0的元素
vector<int> vec3(10, 1); // 包含10个值为1的元素
vector<int> vec4{1, 2, 3}; // 包含三个整数元素1,2,3
vector<int> vec5 = {1, 2, 3}; // 与vec4相同
访问和遍历
可以使用下标运算符([]
)或at()
函数访问vector对象中的元素。同时,可以使用迭代器
对vector中的元素进行遍历。
#include <vector>
using namespace std;vector<int> v = {1, 2, 3, 4};// 访问元素
int a = v[0]; // a = 1
int b = v.at(1); // b = 2// 遍历vector
for (int i = 0; i < v.size(); i++) {cout << v[i] << " "; // 输出1 2 3 4
}
for (auto it = v.begin(); it != v.end(); it++) {cout << *it << " "; // 输出1 2 3 4
}
插入和删除
可以使用push_back()
函数在vector的末尾插入元素
,使用pop_back()
函数删除vector末尾的元素
。同时,也可以使用insert()和erase()函数在vector中插入或删除指定位置的元素。
#include <vector>
using namespace std;vector<int> v = {1, 2, 3};// 插入元素
v.push_back(4); // v = {1, 2, 3, 4}
v.insert(v.begin(), 0); // 在头部插入元素0,v = {0, 1, 2, 3, 4}// 删除元素
v.pop_back(); // 删除末尾元素,v = {0, 1, 2, 3}
v.erase(v.begin()); // 删除头部元素,v = {1, 2, 3}
v.erase(v.begin()+1); // 删除第2个元素,v = {1, 3}
大小和容量
可以使用size()函数
获取vector对象中元素的数量
,使用capacity()函数获取vector对象能够容纳的元素的数量
。同时,也可以使用resize()函数改变vector对象的大小。
#include <vector>
using namespace std;vector<int> v = {1, 2, 3};// 获取大小和容量
int size = v.size(); // size = 3
int capacity = v.capacity(); // capacity >= 3// 改变大小
v.resize(5); // v = {1, 2, 3, 0, 0}
v.resize(2); // v = {1, 2}
其他操作
vector还包括以下常用操作:
empty():
判断vector对象是否为空。
clear():
清空vector对象中的所有元素。
reserve():
预留vector对象中的存储空间。
#include <vector>
using namespace std;vector<int> v = {1, 2, 3};// 判断是否为空
bool is_empty = v.empty(); // is_empty = false// 清空
v.clear(); // v为空// 预留空间
v.reserve(10); // 预留10个元素的存储空间
ps:记得添加<Vector>!!!!!!