将一个vetor容器数据反向存入另一个vector
时间: 2023-07-16 08:13:24 浏览: 37
可以使用`std::reverse_copy`函数将一个vector容器数据反向存入另一个vector。具体代码如下:
```cpp
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec1 = {1, 2, 3, 4, 5};
std::vector<int> vec2(vec1.size());
std::reverse_copy(vec1.begin(), vec1.end(), vec2.begin()); // 将vec1反向存入vec2
return 0;
}
```
在上面的代码中,先定义了一个名为`vec1`的vector容器,并初始化了一些数据。然后定义了一个名为`vec2`的新的vector容器,用来存放反向的数据。使用`std::reverse_copy`函数将`vec1`中的数据反向存入`vec2`中,最终得到的`vec2`容器内容为:{5, 4, 3, 2, 1}。
相关问题
将一个vetor容器数据反向存入另一个vector数据后面
可以使用`std::reverse_copy`函数将一个vector容器数据反向存入另一个vector数据后面。示例代码如下:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec1 = {1, 2, 3, 4, 5};
std::vector<int> vec2(vec1.size());
std::reverse_copy(vec1.begin(), vec1.end(), vec2.begin() + vec1.size());
std::cout << "vec1: ";
for (auto i : vec1) {
std::cout << i << " ";
}
std::cout << std::endl;
std::cout << "vec2: ";
for (auto i : vec2) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
vec1: 1 2 3 4 5
vec2: 5 4 3 2 1
```
其中,`std::reverse_copy`函数的第一个参数为要反向拷贝的vector容器的起始迭代器,第二个参数为结束迭代器,第三个参数为目标vector容器的起始迭代器加上源vector容器的大小。这样可以确保数据反向复制到目标vector容器的结尾。
将一个vetor容器数据反向存入另一个vector不覆盖原数据
可以使用std::reverse_copy函数将一个vector容器数据反向存入另一个vector,而不覆盖原数据。示例如下:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> v1 = {1, 2, 3, 4, 5};
std::vector<int> v2(v1.size()); // 创建一个与v1同样大小的vector
// 将v1反向存入v2
std::reverse_copy(v1.begin(), v1.end(), v2.begin());
// 输出v1和v2中的数据
std::cout << "v1: ";
for (auto i : v1) {
std::cout << i << " ";
}
std::cout << std::endl;
std::cout << "v2: ";
for (auto i : v2) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
v1: 1 2 3 4 5
v2: 5 4 3 2 1
```
可以看到,v1中的数据没有被修改,v2中的数据已经反向存入了。