|
- 要在C++中实现两组`vector`内的元素两两组合,可以使用嵌套循环和迭代器来生成所有可能的组合。以下是一个简化的示例,假设我们有两个`vector`,分别为`vector1`和`vector2`,并且我们想要生成这两个向量中所有元素的配对组合:
- ```cpp
- #include <iostream>
- #include <vector>
- #include <utility>
- void combineVectors(const std::vector<int>& vector1, const std::vector<int>& vector2) {
- for (const auto& val1 : vector1) {
- for (const auto& val2 : vector2) {
- // 输出或者存储每个组合
- std::cout << "Pair: (" << val1 << ", " << val2 << ")\n";
- // 如果需要将组合存入新的vector中,可以这样操作:
- // pairs.push采用back(std::make采用pair(val1, val2));
- }
- }
- }
- int main() {
- std::vector<int> vector1 = {1, 2, 3};
- std::vector<int> vector2 = {4, 5, 6};
- combineVectors(vector1, vector2);
- return 0;
- }
- ```
- 上述代码将打印出如下结果:
- ```
- Pair: (1, 4)
- Pair: (1, 5)
- Pair: (1, 6)
- Pair: (2, 4)
- Pair: (2, 5)
- Pair: (2, 6)
- Pair: (3, 4)
- Pair: (3, 5)
- Pair: (3, 6)
- ```
- 如果需要将组合保存起来,可以在`combineVectors`函数中创建一个新的`vector`,将生成的配对组合存储为`std::pair`或自定义结构体。如果元素数量很大,记得考虑内存使用和性能优化。
复制代码 |
|