1
У меня есть set<string>
от «одного», «двух» и «трех».Как я могу объединить пары элементов из std :: set?
Как я могу получить от него все пары?
- один - два
- один - три
- два - три
У меня есть set<string>
от «одного», «двух» и «трех».Как я могу объединить пары элементов из std :: set?
Как я могу получить от него все пары?
Используйте петлю два уровня:
// 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);
}
}
спасибо, но это не является оптимальным решением ( – vinnitu
Да вам нужно перечислить пары O (N^2), что неизбежно потребует итераций O (N^2). –
В моем проекте я делаю вспомогательный вектор из множества и работать с ним. Но может быть, существует лучшее решение? – vinnitu