2017-07-05 77 views
-3

這裏是我的數組:Arr [8] = {24,30,30,32,32,36,36,36};從C++中的數組中刪除重複的整數

我想從使用C++的Arr中消除重複的數字。有什麼建議麼?謝謝!

+0

使用數據結構(哈希表)來過濾掉重複的 –

+3

爲什麼'map'?把它們放在'set'中並打印出來。 – CinCout

+1

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

回答

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

這顯然是爲諸如'std :: vector'這樣的容器而設計的,而不是像'int [8]'這樣的C風格的數組。 – Jonas

+0

@Jonas - 它適用於C風格的陣列。從數組中移除涉及更新大小。而這裏的新尺寸只是「獨特的(...) - arr」。 – StoryTeller

+0

@StoryTeller是的,我試圖指出使用'vec.erase'(和vec.begin()反對使用'std :: begin(vec)')。無論哪種方式,這個問題必須是dube。 – Jonas