讲讲vector
时间: 2023-07-23 13:06:29 浏览: 38
vector是C++ STL(标准模板库)中的一个容器,可以存储一组动态大小的元素。它的特点是支持快速的随机访问、在尾部插入和删除元素的操作,同时也支持在任意位置插入和删除元素的操作。
使用vector时,需要包含头文件<vector>。定义一个vector可以使用以下语法:
```
vector<int> vec; // 定义一个存放整数的vector
vector<string> str_vec; // 定义一个存放字符串的vector
```
可以使用push_back()函数在vector的尾部插入元素,使用pop_back()函数删除vector的最后一个元素。可以使用下标运算符 [] 或者 at() 函数来访问 vector 中的元素。
vector还有很多其他的操作,例如在任意位置插入和删除元素、查找指定元素、排序等。可以通过查看C++ STL文档来了解更多关于vector的用法和操作。
相关问题
给我讲一下vector容器
`std::vector` 是 C++ 标准库中的一个容器,它提供了动态数组的功能,可以在运行时自动调整大小。`std::vector` 是一个模板类,可以存储任意类型的元素。
使用 `std::vector` 需要包含 `<vector>` 头文件。
下面是一些 `std::vector` 的常用操作:
1. 创建 `std::vector` 对象:
```cpp
std::vector<int> numbers; // 创建一个空的 int 类型的 vector
std::vector<double> values(10); // 创建一个包含 10 个 double 类型元素的 vector
std::vector<std::string> names = {"Alice", "Bob", "Charlie"}; // 创建并初始化一个包含字符串的 vector
```
2. 添加和访问元素:
```cpp
numbers.push_back(42); // 在 vector 尾部添加元素
numbers.push_back(56);
int firstElement = numbers[0]; // 访问第一个元素
int lastElement = numbers.back(); // 访问最后一个元素
```
3. 修改元素:
```cpp
numbers[1] = 99; // 修改指定位置的元素
```
4. 删除元素:
```cpp
numbers.pop_back(); // 删除最后一个元素
numbers.erase(numbers.begin() + 1); // 删除指定位置的元素
```
5. 获取 vector 大小和判断是否为空:
```cpp
size_t size = numbers.size(); // 获取 vector 的大小
bool isEmpty = numbers.empty(); // 判断 vector 是否为空
```
6. 迭代访问元素:
```cpp
for (const auto& element : numbers) {
// 使用 element
}
```
7. 清空 vector:
```cpp
numbers.clear(); // 清空 vector 中的所有元素
```
`std::vector` 还提供了许多其他的成员函数和操作符,如插入元素、查找元素、排序等,可以根据具体需求进行使用。
讲一个vector复制给另一个vector
在 C++ 中,可以使用 `std::vector` 的 `operator=` 或 `assign` 方法将一个 vector 复制给另一个 vector。下面是一个简单的示例代码:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> v1 = {1, 2, 3, 4, 5};
std::vector<int> v2;
// 使用 operator= 复制 v1 给 v2
v2 = v1;
// 或者使用 assign 方法复制 v1 给 v2
// v2.assign(v1.begin(), v1.end());
// 打印 v2 中的元素
for (int i : v2) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
1 2 3 4 5
```