C++: 重複したvector要素の削除
以下のテンプレート関数を使えば、ソート~ユニーク~削除の一連の操作を簡単にできる。
1: template <typename T>
2: void UNIQ(std::vector<T> &v) {
3: std::sort(v.begin(), v.end());
4: v.erase(std::unique(v.begin(), v.end()), v.end());
5: }
ただし、単に重複を考慮しない集合を扱うのであれば、std::set を利用したほうがいい。
参考:
http://learningcppisfun.blogspot.com/2008/04/remove-duplicates-from-vector.html
0 件のコメント:
コメントを投稿