首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++如何比较n个排序后的整数向量以找到共同元素?

C++如何比较n个排序后的整数向量以找到共同元素?
EN

Stack Overflow用户
提问于 2018-10-20 23:36:53
回答 1查看 59关注 0票数 0

我们有一个向量的向量:

代码语言:javascript
复制
vector<vector<int>> vectors;

向量有n个向量inside.Lets说它有3个向量

n1=6,9,17,21

n2=2,4,6

n3=3,6,9,12

如何遍历向量并比较这些向量(本例中为n1、n2、n3 )以找到公共元素(6)?

EN

回答 1

Stack Overflow用户

发布于 2018-10-21 02:06:21

下面的代码展示了如何遍历向量的向量。

代码语言:javascript
复制
const size_t quantity_vectors(vectors.size());
for (size_t i = 0; i < quantity_vectors; ++i)
{
   const std::vector<int>& vector_a(vectors[i]);
   const std::vector<int>& other_vector(vectors[(i + 1) % quantity_vectors]);
   const size_t quantity_a_vector(vector_a.size());
   for (size_t j = 0; j < quantity_a_vector; ++j)
   {
      // do something
      // example:  std::find(other_vector.begin(), other_vector.end(), vector_a[j]);
   }
}

表达式vectors[i]返回一个std::vector

我使用引用来避免复制。引用是const,因为我没有改变向量内部的任何东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52907310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档