stl容器中vector
时间: 2024-06-16 09:07:26 浏览: 115
vector是C++标准库中的一个动态数组容器,提供了一种方便的方式来存储和操作一系列的元素。vector可以自动调整大小,可以在尾部快速插入和删除元素,并且支持随机访问。
以下是vector的一些重要特点和用法:
1. 定义和初始化vector:
可以使用以下方式定义和初始化一个vector:
```cpp
std::vector<int> vec; // 定义一个空的vector
std::vector<int> vec1(5); // 定义一个包含5个默认初始化元素的vector
std::vector<int> vec2(5, 10); // 定义一个包含5个值为10的元素的vector
std::vector<int> vec3 = {1, 2, 3, 4, 5}; // 使用初始化列表初始化vector
```
2. 访问和修改元素:
可以使用下标运算符[]或at()函数来访问和修改vector中的元素。例如:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
int firstElement = vec; // 访问第一个元素
int secondElement = vec.at(1); // 访问第二个元素
vec = 10; // 修改第三个元素的值为10
```
3. 插入和删除元素:
可以使用push_back()函数在vector的尾部插入一个元素,使用pop_back()函数删除尾部的元素。也可以使用insert()函数在指定位置插入元素,使用erase()函数删除指定位置的元素。例如:
```cpp
std::vector<int> vec = {1, 2, 3};
vec.push_back(4); // 在尾部插入元素4
vec.pop_back(); // 删除尾部的元素
vec.insert(vec.begin() + 1, 10); // 在第二个位置插入元素10
vec.erase(vec.begin() + 2); // 删除第三个位置的元素
```
4. 获取vector的大小和容量:
可以使用size()函数获取vector中元素的个数,使用capacity()函数获取vector的容量(即当前分配的内存空间大小)。例如:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
int size = vec.size(); // 获取元素个数,结果为5
int capacity = vec.capacity(); // 获取容量,结果可能大于等于5
```
5. 遍历vector:
可以使用迭代器或范围for循环来遍历vector中的元素。例如:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
for (auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
// 或者使用范围for循环
for (int num : vec) {
std::cout << num << " ";
}
```
这些只是vector的一些基本用法,还有很多其他的函数和特性可以探索和使用。你可以参考C++标准库的文档或其他相关资料来深入了解vector的更多用法和细节。
阅读全文