取vector的第i个元素
时间: 2024-02-19 10:58:31 浏览: 16
要取一个 vector 中的第 i 个元素,可以使用下标操作符 [],例如:
```
std::vector<int> v = {1, 2, 3, 4, 5};
int i = 2;
int element = v[i]; // 获取 v 中的第 3 个元素,即 3
```
在上面的例子中,我们定义了一个名为 v 的 vector,包含了 5 个 int 类型的元素。然后我们定义了一个变量 i,表示要获取第几个元素。最后使用下标操作符 [],将 i 作为下标传递给 vector v,获取该位置上的元素,并将其存储到变量 element 中。
相关问题
取两个vector的交集
可以使用set_intersection函数来取两个vector的交集。
示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> v1 = {1, 2, 3, 4, 5};
std::vector<int> v2 = {3, 4, 5, 6, 7};
std::vector<int> result(v1.size() + v2.size());
auto it = std::set_intersection(v1.begin(), v1.end(), v2.begin(), v2.end(), result.begin());
result.resize(it - result.begin());
std::cout << "Intersection: ";
for (int i : result)
std::cout << i << " ";
std::cout << std::endl;
return 0;
}
```
输出结果:
```
Intersection: 3 4 5
```
在这个示例中,我们使用set_intersection函数将v1和v2的交集存储在result中。最后,我们打印出交集的元素。
c++ 取vector的一部分
你可以使用切片操作来取一个向量的一部分。在C语言中,可以使用数组索引和循环来实现这个操作。假设你有一个名为`vector`的数组,你可以使用以下代码来取数组的一部分:
```c
int start_index = 2; // 起始索引
int end_index = 6; // 结束索引
int sub_vector_size = end_index - start_index + 1; // 子向量的大小
int sub_vector[sub_vector_size]; // 创建一个新的子向量
for (int i = start_index; i <= end_index; i++) {
sub_vector[i - start_index] = vector[i]; // 拷贝元素到子向量中
}
```
在上述代码中,`start_index`表示起始索引,`end_index`表示结束索引。通过计算差值并创建一个新的子向量,然后使用循环将原始数组中的元素拷贝到子向量中。最终,`sub_vector`就是原始向量的一部分。
请注意,在C语言中,数组的索引是从0开始的,所以上述代码中的`start_index`和`end_index`都是基于0的索引。如果你想要以1为基准,请相应地调整起始和结束索引的值。