[アルゴリズム] 挿入ソートの実装(Javascript編)

amplifier-768536_1280
LINEで送る
Share on GREE
Share on LinkedIn

挿入ソートは今までのソートアルゴリズムよりも簡単と言うけれど、ソースコードは今までで一番長いものになってしまいました。
処理を全て関数化してみたという事もあるし、できるだけ関数依存しない書き方をしたという事もあるからかもしれませんが、
とりあえずjavascript版が完成したので、掲載しておきます。

ソースコード

解説

仕様書に近いようなコメントを付けておいたのでそれだけである程度理解してもらえると思いますが、
とりあえず、トピックを書いておきます。

配列の結合

配列の結合は何気に言語によっては難しいものがあるので、要素分解して都度配列を新規作成しています。
少し処理が増えてもったいない感じですが、多言語対応を考えるとこの方がいいかも・・・という今回限りの判断です。
言語別の効率化はまた別の機会に行いたいと思います。

挿入処理

このアルゴリズムの核である「挿入」処理は、配列の挿入位置を取得して、その位置にはめ込む処理を別途で関数化しています。
その時に挿入される数値が一番大きい数値の場合は、配列の最後に追加される形になりますが、今回はそれをnullと判定して
push処理で行うようにしています。
どうしてもここがシンプルな書き方ができませんでした。

実行

プログラム全体をブラウザのコンソールに貼り付けてENTERを押すと関数がメモリ保存されます。
その後、最後の行の関数実行処理を同じくコンソールで実行すると、結果が得られます。
結果は以下の通り

関連リンク

挿入ソート

解説
Javascript

アルゴリズム過去記事

http://wordpress.ideacompo.com/?cat=562&tag=Algorithm

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*