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
与第三个,等等。但它似乎不起作用,这真的令人困惑。