puddingプログラミングの記事がメインのブログです。C++スポンサードリンク作業記録的なものです。ひどいコードなので、ネットにさらすのもためらわれますが、とりあえず、マージソートを自力で実装してみました。誰が書いてもこの程度のアルゴリズムじゃ同じよーな実装になりますね(;'∀')VC++だと、templateを使ったときにinclusion-modelがどーのこーのでなんもしなきゃテンプレートってcppにかけないんですね......。VC++じゃなくてもヘッダにすべて書いてしまうのがオヌヌメ方法らしいですね。マージソートってなによって話ですがやっぱり僕らの大先生Wikipediaなかなかわかりやすい解説が書いてあります。マージソートは、ソートのアルゴリズムで、既に整列してある複数個の列を1個の列にマージする際に、小さいものから先に新しい列に並べれば、新しい列も整列されている、というボトムアップの分割統治法による。大きい列を多数の列に分割し、そのそれぞれをマージする作業は並列化できる。分割と統合の実装にもよるが、一般に安定なソートを実装できる。インプレースなソートも提案されているが、通常O(n)の外部記憶を必要とする[1]。(ナイーブな)クイックソートと比べると、最悪計算量は少ない[1]。ランダムなデータでは通常、クイックソートのほうが速い。Wikipediaソースコードこのあたりの詳しい話はC++テンプレート完全ガイドという書籍に書いていた気がします。テンプレート本だけどほかのに比べて平易な内容です。はてなブログPro睡眠プログラマーです。1引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。