迭代地获得交集

时间:2017-11-12 02:26:08

标签: c++

intersection.clear();
int a = distance(leftbound, rightbound);
{
    set_intersection(leftbound, rightbound, k[str.substr(start_location, i - start_location)].begin(),
         k[str.substr(start_location, i - start_location)].end(), back_inserter(intersection));
}
vector<int> test;
vector<int>::iterator test_it1 = test.begin();
vector<int>::iterator test_it2 = intersection.begin();
test.resize(intersection.size());
for (; test_it1 != test.end(); test_it1++)
{
    *test_it1 = *test_it2;
    test_it2++;
}
leftbound = test.begin();
rightbound = test.end();

k[...]将随i而变化;我相信我们可以忽略它。

我遇到的困难是如何保存计算的交叉点的结果。

所以我试图迭代地找到交集,但编译器不断输出vector iterators incompatible。 基本的想法是:首先我找到前两个的交集,然后我保存交叉结果和set_intersection与第三个,等等。但它似乎不起作用,这真的令人困惑。

0 个答案:

没有答案