2017-07-05 120 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