我们有一个向量的向量:
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)?
发布于 2018-10-21 02:06:21
下面的代码展示了如何遍历向量的向量。
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,因为我没有改变向量内部的任何东西。
https://stackoverflow.com/questions/52907310
复制相似问题