std::vector使用大全,详细举例
时间: 2023-08-31 17:06:38 浏览: 162
std::vector 是 C++ 标准库中的一个常用容器,提供了动态数组的功能。下面是 std::vector 的使用大全,包括详细的举例说明:
1. 创建和初始化:
```cpp
#include <vector>
std::vector<int> vec1; // 创建一个空的 int 类型的 vector
std::vector<int> vec2(5); // 创建一个包含 5 个默认初始化的 int 类型的元素的 vector
std::vector<int> vec3 = {1, 2, 3, 4, 5}; // 使用初始化列表创建一个包含指定元素的 vector
std::vector<int> vec4(vec3); // 使用一个现有的 vector 创建另一个 vector,进行拷贝构造
```
2. 访问和修改元素:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
int first = vec[0]; // 访问第一个元素
int last = vec.back(); // 访问最后一个元素
vec[2] = 10; // 修改第三个元素的值
// 使用迭代器遍历 vector
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
```
3. 添加和删除元素:
```cpp
std::vector<int> vec;
vec.push_back(1); // 在末尾添加一个元素
vec.pop_back(); // 删除末尾的元素
vec.insert(vec.begin() + 2, 3); // 在指定位置插入一个元素
vec.erase(vec.begin() + 1); // 删除指定位置的元素
vec.clear(); // 清空 vector 中的所有元素
```
4. 获取 vector 的大小和容量:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
int size = vec.size(); // 获取 vector 的大小
int capacity = vec.capacity(); // 获取 vector 的容量
if (vec.empty()) {
std::cout << "Vector is empty" << std::endl;
}
```
5. 其他常用操作:
```cpp
std::vector<int> vec = {3, 1, 4, 1, 5};
std::sort(vec.begin(), vec.end()); // 对 vector 进行排序
int sum = std::accumulate(vec.begin(), vec.end(), 0); // 计算 vector 中所有元素的和
int count = std::count(vec.begin(), vec.end(), 1); // 统计 vector 中等于 1 的元素个数
auto it = std::find(vec.begin(), vec.end(), 4); // 查找 vector 中等于 4 的元素的位置
// 使用 range-based for 循环遍历 vector
for (int num : vec) {
std::cout << num << " ";
}
```
这些是 std::vector 的常用操作和功能,你可以根据实际需要进行进一步的学习和使用。
阅读全文