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; }
下記の記事からコピーしました.