[STL]vector使用介绍
**STL vector 使用介绍**
**前言**
在 C++ 中,标准模板库 (STL) 提供了许多高级数据结构和算法。其中,`vector` 是一种非常常用的容器类,它提供了一种动态数组的实现方式。在本文中,我们将详细介绍 `vector` 的使用方法、特性以及一些实例代码。
**什么是 vector**
`vector` 是一个动态数组的实现方式,它可以根据实际需要进行扩展和收缩。与静态数组相比,`vector` 有以下几个优点:
* 可以动态地分配内存* 支持随机访问(即可以直接访问任何元素)
* 支持插入和删除操作**创建 vector**
要使用 `vector`,首先需要包含头文件 `cpp#include <vector>
int main() {
// 创建一个空的 vector std::vector<int> vec;
return0;
}
**向 vector 中添加元素**
可以使用 `push_back()` 方法向 `vector` 的末尾添加元素:cpp#include <vector>
int main() {
std::vector<int> vec;
// 向 vector 中添加元素 vec.push_back(10);
vec.push_back(20);
vec.push_back(30);
return0;
}
**访问 vector 中的元素**
可以使用下标运算符(即 `[]`)直接访问 `vector` 中的元素:cpp#include <vector>
int main() {
std::vector<int> vec = {10,20,30};
// 访问 vector 中的元素 int element1 = vec[0];
int element2 = vec[1];
return0;
}
**修改 vector 中的元素**
可以使用下标运算符直接修改 `vector` 中的元素:cpp#include <vector>
int main() {
std::vector<int> vec = {10,20,30};
// 修改 vector 中的元素 vec[0] =100;
vec[1] =200;
return0;
}
**删除 vector 中的元素**
可以使用 `erase()` 方法删除 `vector` 中的元素:cpp#include <vector>
int main() {
std::vector<int> vec = {10,20,30};
// 删除 vector 中的元素 vec.erase(vec.begin());
return0;
}
**vector 的大小和容量**
可以使用 `size()` 和 `capacity()` 方法获取 `vector` 的大小和容量:cpp#include <vector>
int main() {
std::vector<int> vec = {10,20,30};
// 获取 vector 的大小 int size = vec.size();
// 获取 vector 的容量 int capacity = vec.capacity();
return0;
}
**vector 的迭代器**
可以使用 `begin()` 和 `end()` 方法获取 `vector` 的迭代器:cpp#include <vector>
int main() {
std::vector<int> vec = {10,20,30};
// 获取 vector 的迭代器 auto it = vec.begin();
return0;
}
**vector 的常用算法**
可以使用以下算法对 `vector` 进行操作:
* `sort()`: 对 `vector` 进行排序* `reverse()`: 对 `vector` 进行反转* `find()`: 在 `vector` 中查找元素cpp#include <vector>
int main() {
std::vector<int> vec = {10,20,30};
// 对 vector 进行排序 std::sort(vec.begin(), vec.end());
return0;
}
**总结**
本文介绍了 `vector` 的使用方法、特性以及一些实例代码。通过阅读本文,读者应该能够掌握如何使用 `vector` 来实现动态数组的功能,并且能够理解 `vector` 的大小和容量、迭代器以及常用算法等方面的知识。