vectorをuniqする
ネット上では散々既出[1][2]ですが、ソート済みのstd::vector重複要素を削除する方法。
スクリプト言語的にはsetを使いたくなるところだけど、非常に遅いらしいので実験してみた。
Compare speeds of "uniq" operation to std::vector
結果
# Intel(R) Core(TM) i7-3930K CPU
$ clang++ --version
clang version 3.5.0 (tags/RELEASE_350/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
$ clang++ -std=c++11 -O2 uniq.cpp && ./a.out 1000000
uniq_erase : 2.274036e-03 sec.
uniq_set : 1.473670e-01 sec.
参考文献: