Unterschied zwischen C++
Wenn ich weiß, dass das eine eine Teilmenge des anderen gesetzt, und ich möchte, um den Unterschied zu finden, was ist der effizienteste Weg, dies zu tun?
ex.
PSEUDO-CODE
> set<int> set1 = {1 2 3 4 5 6 7 8 9 10}
> set<int> set2 = {5 6 7}
Ich wollen, um zu subtrahieren set2
aus set1
:
Hier die Antwort wäre
{1 2 3 4 8 9 10}
InformationsquelleAutor der Frage user620189 | 2011-04-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
std::set_difference
gefunden in<algorithm>
:Snippet Quelle
InformationsquelleAutor der Antwort orlp
Ich würde
std::set_difference
die läuft in O(n) Zeit.InformationsquelleAutor der Antwort Oliver Charlesworth
Ich weiß, Sie gefragt, für eine C++ Lösung, aber wenn jemand bekommt hier auf der Suche nach einem Haskell-Lösung:
Ergebnisse in: [1, 2, 3, 4, 8, 9, 10]
InformationsquelleAutor der Antwort Shersh
Können Sie
std::set_difference
Funktion.InformationsquelleAutor der Antwort Will
set_symmetric_difference
InformationsquelleAutor der Antwort Pete