Vektor-Kreuzung in C++
Habe ich diese Funktion
vector<string> instersection(const vector<string> &v1, const vector<string> &v2);
Ich habe zwei Vektoren von strings und ich möchte zu finden der Zeichenketten, die in beiden vorhanden, die füllt dann einen Dritten Vektor mit dem gemeinsamen elemnts.
Wenn meine Vektoren sind...
v1 = <"a","b","c">
v2 = <"b","c">
InformationsquelleAutor der Frage Tyler | 2013-10-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen
std::set_intersection
zum Beispiel:InformationsquelleAutor der Antwort deepmax
Müssen Sie Sie Sortieren gerade die kleineren vector. Führen Sie dann einen einzelnen Durchlauf über die größeren Vektoren und testen Sie die Anwesenheit der Elemente in einen kleineren Vektor durch die Verwendung einer binären Suche.
InformationsquelleAutor der Antwort Mikhail Volskiy