2017-07-05 8 views
-3

ここに私の配列があります:Arr [8] = {24,30,30,32,32,36,36,36};C++のArrayから重複する整数を削除する

私はC++を使用してArrから重複した数字を削除しようとしています。助言がありますか?ありがとうございました!

+0

は重複 –

+3

なぜ 'map'を除外するデータ構造(ハッシュテーブル)を使用しますか?それらを「セット」に入れて印刷します。 – 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はい、私は、 'std :: begin(vec)'を使用することに反対する 'vec.erase'(およびvec.begin()の使用を指摘しようとしていました)。いずれにしても、この質問は恥ずべきことではありません。 – Jonas

関連する問題