cpp vector数组的中间一段如何取出?
时间: 2024-02-25 16:58:42 浏览: 38
要取出 vector 数组的中间一段,可以使用 `vector` 类的 `begin()` 和 `end()` 方法结合迭代器来实现。例如,如果要取出 vector 数组的第 2 到第 4 个元素,可以使用以下代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::vector<int>::iterator start = vec.begin() + 1;
std::vector<int>::iterator end = vec.begin() + 4;
std::vector<int> subVec(start, end);
for (auto i : subVec) {
std::cout << i << " ";
}
return 0;
}
```
以上代码输出:
```
2 3 4
```
其中,`vec.begin()` 返回指向数组第一个元素的迭代器,`vec.end()` 返回指向数组最后一个元素的下一个位置的迭代器。因此,`vec.begin() + 1` 返回指向数组第二个元素的迭代器,`vec.begin() + 4` 返回指向数组第五个元素的迭代器。然后,使用两个迭代器来构造一个新的 `vector` 数组 `subVec`,其中包含第二个到第四个元素。
相关问题
定义一个n行m列的vector数组A
好的,定义一个n行m列的vector数组A可以使用以下代码:
```cpp
#include <vector>
int main() {
int n = 3; // 行数
int m = 4; // 列数
std::vector<std::vector<int>> A(n, std::vector<int>(m));
return 0;
}
```
这段代码使用了C++的vector容器来创建一个二维数组A,其中每个元素都是int类型。数组A的行数为n,列数为m。你可以根据需要修改n和m的值。
std::cin输入vector数组
您可以使用以下代码从标准输入流(std::cin)读取一个 vector 数组:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> nums;
int num;
while (std::cin >> num) {
nums.push_back(num);
}
// 打印 vector 数组的元素
for (int n : nums) {
std::cout << n << " ";
}
std::cout << std::endl;
return 0;
}
```
这段代码会持续从标准输入流中读取整数,直到遇到非整数输入或者文件末尾。然后将读取到的整数添加到 vector 数组中,并最终打印出数组中的元素。
希望这能帮到您!如果您有任何其他问题,请随时提问。