Humanity

Edit the world by your favorite way

C++で挿入ソート

追記:
考えてみればrotate()でもダメで、ようは要素を挿入/削除されちゃうとダメなのでswap()していけばいいはず。たぶん。
mattnさんにiter_swap()っての教えてもらったのでそれ使った。


ふと書いてみたらC++で挿入ソートのやり方がわからなくて、
なぜかっていうとイテレータ持ちながらループ中にinsertとかしちゃうと
イテレータの参照先が保証されなくなっちゃうから。
vectorの場合はループカウンタ使うとか
C++への冒涜的なことをしていたんだけども、
調べてみたらstd::rotate()って関数があるらしい。

こんな風に使うらしい。
まあでもstd::rotate()知ったところで本当に気になるのは
要素へのアクセス速度とかコピーの速度だけど、
そこらへん掘り下げる前に眠くなってきたので寝る。
ここ見た感じだとよくわからんけどswapしまくってて遅い気がする。いやまったくわからん。

hoge

一生懸命ブランチ切ったりしてたのにコミットログを
git rebase -iで直したらマージコミットぶっ飛んだので泣いた。*1

*1:screenで遡って確認したらrebase前は確かにマージコミットあったのに...