2017-07-05 5 views
-3

Hier ist mein Array: Arr [8] = {24, 30, 30, 32, 32, 36, 36, 36};Entfernen von doppelten ganzen Zahlen aus Array in C++

Ich versuche, die doppelten Zahlen von Arr mit C++ zu beseitigen. Irgendwelche Vorschläge? Vielen Dank!

+0

verwenden, um eine Datenstruktur (Hashtable) –

+3

die Duplikate zum Ausfiltern Warum 'map'? Lege sie in ein Set und drucke sie aus. – CinCout

+1

['std :: unique'] (http://en.cppreference.com/w/cpp/algorithm/unique) – StoryTeller

Antwort

2
sort(vec.begin(), vec.end()); 
vec.erase(unique(vec.begin(), vec.end()), vec.end()); 
+0

Dies ist offensichtlich für einen Container wie 'std :: vector' gedacht, nicht für ein C-artiges Array wie:' int [8] '. – Jonas

+0

@Jonas - Es funktioniert perfekt für ein C-artiges Array. Das Entfernen aus einem Array beinhaltet das Aktualisieren der Größe. Und hier ist die neue Größe einfach "einzigartig (...) - arr". – StoryTeller

+0

@StoryTeller Ja, ich habe versucht, auf die Verwendung von 'vecerase' (und vec.begin() im Gegensatz zu' std :: begin (vec) ') hinzuweisen. So oder so, diese Frage muss sich ändern. – Jonas

Verwandte Themen