std::vectorの中身をuniqueにする

中身をuniqueにするためだけにstd::setを使うのは効率的に非常に良くない. vectorにpush_backしてから最後にまとめてsortして冗長なものを削除した方が速い.

ということは頭では理解していたのだが, 書き方がようわからんかったので調べた.

template<class CONT> void pocRemoveRedundancy(CONT& cont)
{
  // コンテナの冗長性を取り除く関数テンプレート
  sort(cont.begin(), cont.end());
  cont.erase(unique(cont.begin(), cont.end()), cont.end());
  return;
}

下記の記事からコピーしました.

http://d.hatena.ne.jp/nurs/20080916/1221578416