比较字符串向量以获得差异

时间:2016-02-22 01:02:29

标签: c++ vector

尝试将2个向量的不同元素存储到另一个向量中。

这是我到目前为止所得到的,但它没有给我正确的输出!

for (long i=0; i<(long)v2.size(); ++i)
                {
                        for (long index=0; index<(long)v1.size(); ++index)
                        {
                            if (v2[i] == v1[index])
                            {
                                v3.push_back(v2[i]);
                            }
                        }
                }

所以v1有{S A B D}而v2有{S a b h A j k k B D r y u i o}我试图将所有以下内容{a b h j k k r y u o o}带入v3

1 个答案:

答案 0 :(得分:1)

我看到的唯一问题是你存储了两个向量的所有相等元素而不是不同的向量。根据您的描述,这应该有效:

for (long i=0; i<(long)v2.size(); ++i)
{
  for (long index=0; index<(long)v1.size(); ++index)
  {
    if (v2[i] != v1[index])
    {
      // Need to store both since they're different...
      // this is weird but it's what you asked for :/
      v3.push_back(v2[i]);
      v3.push_back(v1[index]);
    }
  }
}

但如果没有,请提供您正在使用的输入的详细信息以及为什么输出不符合您的预期。