如何在两套上做两针技术

时间:2018-04-15 20:00:47

标签: c++ c++11 set

假设我们在C ++ 11中给出了两个集合,它们具有不同的元素,并且它始终认为第一个集合的元素比第二个集合要小。

为了更清楚,我们想要合并两个集合,然后在这个集合上执行两个指针技术。但我认为也可以在不将这些集合合为一的情况下对其进行编码。

理论上这很容易,但我不知道如何在代码中编写它。问题是指针将在第一组中开始,但是当它变大时,第一组的大小应该在第二组中移动。能否请你给我一些提示如何做到这一点。提前谢谢。

1 个答案:

答案 0 :(得分:1)

一种方法是检查指针是否已到达第一组的末尾,然后将其指向第二组。

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();
}