假设我们在C++11中给出了两个集合,它们有不同的元素,它总是认为第一个集合有较小的元素,然后是第二个集合。
更清楚的是,我们希望合并这两个集合,然后在这个集合上执行两个指针技术。但我认为,也可以在不将集合合并成一个集合的情况下对其进行编码。
这在理论上很容易,但我不知道如何用代码来编写。问题是指针将从第一组开始,但是当指针变得更大时,第一组的大小就应该在第二组中移动。你能告诉我怎么做吗?提前谢谢。
发布于 2018-04-16 06:29:06
一种方法是检查指针是否已到达第一组的末尾,然后将其指向第二组。
std::set<T> a, b;
std::set<T>::iterator p = a.begin();
while (p != b.end())
{
// do something
if (++p == a.end()) p = b.begin();
}https://stackoverflow.com/questions/49846219
复制相似问题