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

C++ How do i compare n number of sorted int vectors to find mutual element ?

本文关键字:向量 整数 元素 排序 何比较 比较 C++      更新时间:2023-10-16

我们有 1 个向量:

vector<vector<int>> vectors;

向量内部有 n 个向量。假设它有 3 个向量

n1=[6,9,17,21]

n2=[2,4,6]

n3=[3,6,9,12]

如何迭代彻底的向量并比较这些向量(在本例中为 n1,n2,n3(以找到共同元素 (6(?

下面的代码显示了如何循环访问向量的向量。

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,因为我没有更改向量内的任何内容。