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

electric-car-1458836_1280
LINEで送る
Share on GREE
Share on LinkedIn

PHPの挿入ソートですが、javascriptでの苦戦をそのままコピーして対応しました。
CLASSを使って書いても良かったんですが、段階を踏みたかったので、今回はfunctionの羅列バージョンです。
でも、手慣れている言語で手慣れている書き方をしてもあまりおもしろくないんですよね。
やっぱり少し冒険しないと・・・個人的には仕事でも冒険するワクワク感がなんともたまらんのですよね。

ソースコード

解説

少しユニットテストを意識したfunctionの書き方をしてみました。
テストコードを書くときは、その関数に想定の値を渡して望みの結果が返るかというコードをいくつも記述するだけなんですが、
重要なのは、想定値だけではなくて、想定外値としてわざとエラーが出るかどうかという記述も必要という事。
テストコードを書いてもいないのに偉そうに書くのはやめましょう。

nullの扱い

JSで使ったままPHPでもnullとして使っても良かったんですが、あえてstringの”null”という値を使って処理しています。
null撲滅員会なるものがあることを知って、最近nullに対して少しビビっているボクでした。
http://www.geocities.jp/mickindex/database/db_getout_null.html

コメントの扱い

ペチパーの人たちのよく書くようなコメント記述にしてみました。
関数に関してはparamとreturnという受け渡しと返り値をちゃんと型も踏まえて記述しておきましょう。
下手な仕様ドキュメントよりもよっぽど確実です。
更新もしやすいですしね。

実行

実は、JSからのコピーで何箇所もエラーが出まくって一発ではうまくいかなかったんですが、
結果が伴っているので、これで良しとします。
詳細はざっくりですが、解説でご理解ください。

関連リンク

挿入ソート

解説
Javascript
PHP

アルゴリズム過去記事

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

Leave a Reply

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


*