vector容器 查找
时间: 2025-02-20 14:33:32 浏览: 33
### C++ 中 `vector` 容器的使用方法
#### 创建和初始化向量
可以创建不同类型的 `vector` 并对其进行初始化。以下是几种常见的初始化方式:
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 初始化一个空的整数型向量
vector<int> vecInt;
// 使用初始列表初始化向量
vector<int> vecInitList = {1, 2, 3};
// 带有指定数量相同元素的向量
vector<int> vecSameElements(5, 10);
```
#### 向量容量管理
为了提高性能,可以在添加大量元素之前预留空间。
```cpp
vecInt.reserve(10); // 预留至少能容纳10个元素的空间
```
当需要知道当前已分配给向量的实际存储大小时,可调用 capacity 函数[^1]。
#### 添加与移除元素
支持多种操作来修改向量的内容,比如在末尾追加新项或移除现有项目。
```cpp
vecInt.push_back(7); // 在向量末尾增加一个元素
vecInt.pop_back(); // 移除向量中的最后一个元素
vecInt.clear(); // 清空整个向量
```
对于更复杂的场景,还可以利用 insert 和 erase 方法来进行插入和删除特定位置上的元素[^3]。
#### 访问元素
提供了多种途径获取向量内的数据成员,包括索引运算符[]、at()函数以及 front()/back()快捷访问首尾两个元素的方法。
```cpp
cout << vecInitList.at(0) << endl; // 输出第一个元素 (安全检查)
cout << vecInitList[1] << endl; // 输出第二个元素
cout << vecInitList.front() << endl; // 获取首个元素
cout << vecInitList.back() << endl; // 获取最后的一个元素
```
此外,遍历所有元素可以通过迭代器完成:
```cpp
for(vector<int>::iterator it=vecInitList.begin(); it != vecInitList.end(); ++it){
cout<< *it << " ";
}
```
#### 复制交换
如果想要复制另一个同类型但不同实例的对象到当前对象,则可以直接赋值;而要实现快速交换两者的内部状态则应采用 swap 成员函数.
```cpp
vector<int> anotherVec = vecInitList; // 浅拷贝构造新的向量
anotherVec.swap(vecInitList); // 将两者内容互换
```
阅读全文
相关推荐


















