比较矢量并添加缺少的元素

时间:2015-05-20 07:27:32

标签: c++ matrix vector

我需要这样的功能:

vector a;matrix A(a.size(),vector(9));

vector b;matrix B(b.size(),vector(9));

....

vector n;matrix N(n.size(),vector(9));

for(all vectors and matrices given){

     if(vector[i] not in other vector){
         put missing element to vector at position i
         put zero vector to B at position i
     }
}

我想举个例子来说明一点:

a=[name,place]; A=[vector[names],vector[place]]
b=[name,religion]; B=[vector[names], vector[religion]]
c=[place,religion]; C=[vector[place],vector[religion]]

现在的目标是a=b=c=[name,place,religion]A~B~C=[vector[names],vector[place],vector[religion]]

A,B和C中的向量仍然保留原始数据,以及属性最初不存在的情况下的零向量。

在每个向量中,所有元素彼此不同(因此没有vec=[1,1,2]或类似的)

对于那个非常抽象的描述我很抱歉。我希望得到我需要的东西,否则只要问: - )

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

至少对于向量,您可以创建set,将所有向量中的所有项插入到集合中,然后从集合中复制到所有向量中。然后你应该从所有载​​体中获得所有数据而不重复。