C++STL:顺序容器之vector
IDC服务
C++STL:顺序容器之vector
2024-12-10 00:44
在C++的标准模板库(STL)中,vector 是一种动态数组容器。它允许你高效地管理存储数据,并提供了丰富的成员函数以便进行快速的插入、删除和访问操作。理解和掌握 vector 的使用是 C++ 编程中非常重要的基础技能。 1. 定义与包含头文件
在C++的标准模板库(STL)中,vector
是一种动态数组容器。它允许你高效地管理存储数据,并提供了丰富的成员函数以便进行快速的插入、删除和访问操作。理解和掌握 vector
的使用是 C++ 编程中非常重要的基础技能。
1. 定义与包含头文件
vector
是 STL 中的一个容器,需要包含 vector
头文件。其基本的定义形式如下:
#include <vector>
std::vector<int> numbers; // 创建一个空的整数向量
std::vector<int> numbers = {1, 2, 3, 4, 5}; // 创建并初始化一个整数向量
#include <vector>
:导入标准库中的vector
类模板。std::vector<int> numbers;
:声明一个类型为int
的空向量。std::vector<int> numbers = {1, 2, 3, 4, 5};
:声明一个初始化了元素的向量。
2. 向 vector
中添加元素
vector
提供了多种方式来添加元素,常见的两种方法是使用 push_back()
和 insert()
。
push_back()
:在向量的末尾添加元素。
numbers.push_back(6); // 在向量末尾添加元素6
insert()
:在指定位置插入元素。insert()
可以插入到任意位置,提供灵活性。
numbers.insert(numbers.begin() + 2, 7); // 在索引位置2处插入7
3. 访问和修改元素
你可以通过下标运算符 []
或者 at()
函数来访问和修改 vector
中的元素:
- 使用
[]
访问元素:
int element = numbers[0]; // 获取第一个元素
- 使用
at()
访问元素:at()
提供了边界检查,如果访问越界,会抛出异常out_of_range
。
int element = numbers.at(1); // 获取第二个元素
- 修改元素:
numbers[0] = 10; // 将第一个元素修改为10
4. 获取 vector
的大小和容量
vector
提供了两个常用的成员函数来获取大小和容量:
size()
:返回vector
中元素的个数。
int size = numbers.size(); // 获取向量的元素数量
capacity()
:返回vector
容器当前分配的空间容量(可能大于实际存储的元素个数)。
int capacity = numbers.capacity(); // 获取向量的容量
5. 遍历 vector
中的元素
你可以通过传统的 for
循环或者范围 for
循环遍历 vector
中的元素。
- 使用常规
for
循环:
for (int i = 0; i < numbers.size(); i++) {
std::cout << numbers[i] << " ";
}
- 使用范围
for
循环(C++11 及以上版本):更加简洁且易读。
for (int num : numbers) {
std::cout << num << " ";
}
6. 删除 vector
中的元素
vector
提供了 pop_back()
和 erase()
两种常用方法来删除元素。
pop_back()
:删除末尾元素,时间复杂度为 O(1)。
numbers.pop_back(); // 删除最后一个元素
erase()
:删除指定位置的元素,可以删除单个元素或多个元素。
numbers.erase(numbers.begin() + 2); // 删除第2个位置的元素
7. 判断
标签:
- C++
- vector
标签:
- C++
- vector