将具有相同长度的int的两个向量转换为C中的一对int对

在C中,如果我有两个int的向量:
A = [1,2,3,4]; 
B = [1,4];

如何将它们合并成一对向量:

[(1,1),(2,2),(3,3),(4,4)]

当然我可以用循环来做到这一点.但是我们可以使用合适的STL函数和迭代器来做到这一点吗?

解决方法

您可以使用一个算法:
std::vector<std::pair<int,int>> target;
target.reserve(A.size());
std::transform(A.begin(),A.end(),B.begin(),std::back_inserter(target),[](int a,int b) { return std::make_pair(a,b); });

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...