Как я могу объединить пары элементов из std :: set? - PullRequest
1 голос
/ 28 мая 2010

У меня есть set<string> из "один", "два" и "три".

Как мне получить все пары из него?

  • один - два
  • один - три
  • два - три

1 Ответ

4 голосов
/ 28 мая 2010

Используйте двухуровневую петлю:

// Loop over all members.
for (set<string>::iterator j = s.begin(); j != s.end(); ++j)
{
    // Loop over all members up to, but excluding, the current outer-loop member.
    for (set<string>::iterator i = s.begin(); i != j; ++i)
    {
        do_something_with(*i, *j);
    }
}
...