1
J'ai un set<string>
de "un", "deux" et "trois".Comment puis-je combiner des paires d'éléments d'un ensemble std ::?
Comment puis-je obtenir toutes les paires?
- un - deux
- une à trois
- deux - trois
J'ai un set<string>
de "un", "deux" et "trois".Comment puis-je combiner des paires d'éléments d'un ensemble std ::?
Comment puis-je obtenir toutes les paires?
Utilisez une boucle à deux niveaux:
// 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);
}
}
merci, mais ce n'est pas la solution optimale ( – vinnitu
Oui Vous devez énumérer les paires O (N^2), ce qui nécessite inévitablement des itérations O (N^2) –
Dans mon projet, je crée un vecteur auxiliaire travailler avec ça. Mais existe peut-être une meilleure solution? – vinnitu