天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 163|回复: 0

C++中实现两组`vector`内的元素两两组合

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-3-15 22:13:47 | 显示全部楼层 |阅读模式
  1. 要在C++中实现两组`vector`内的元素两两组合,可以使用嵌套循环和迭代器来生成所有可能的组合。以下是一个简化的示例,假设我们有两个`vector`,分别为`vector1`和`vector2`,并且我们想要生成这两个向量中所有元素的配对组合:
  2. ```cpp
  3. #include <iostream>
  4. #include <vector>
  5. #include <utility>
  6. void combineVectors(const std::vector<int>& vector1, const std::vector<int>& vector2) {
  7.     for (const auto& val1 : vector1) {
  8.         for (const auto& val2 : vector2) {
  9.             // 输出或者存储每个组合
  10.             std::cout << "Pair: (" << val1 << ", " << val2 << ")\n";
  11.             // 如果需要将组合存入新的vector中,可以这样操作:
  12.             // pairs.push采用back(std::make采用pair(val1, val2));
  13.         }
  14.     }
  15. }
  16. int main() {
  17.     std::vector<int> vector1 = {1, 2, 3};
  18.     std::vector<int> vector2 = {4, 5, 6};
  19.     combineVectors(vector1, vector2);
  20.     return 0;
  21. }
  22. ```
  23. 上述代码将打印出如下结果:
  24. ```
  25. Pair: (1, 4)
  26. Pair: (1, 5)
  27. Pair: (1, 6)
  28. Pair: (2, 4)
  29. Pair: (2, 5)
  30. Pair: (2, 6)
  31. Pair: (3, 4)
  32. Pair: (3, 5)
  33. Pair: (3, 6)
  34. ```
  35. 如果需要将组合保存起来,可以在`combineVectors`函数中创建一个新的`vector`,将生成的配对组合存储为`std::pair`或自定义结构体。如果元素数量很大,记得考虑内存使用和性能优化。
复制代码

 

 

 

 

C++中实现两组`vector`内的元素两两组合
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-5 06:08 , Processed in 0.151802 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表