[アルゴリズム] クイックソートの実装(PHP編)

dog-859394_1280
LINEで送る
Share on GREE
Share on LinkedIn

PHPにおけるクイックソートはJavascriptと同じ感覚で問題なく行けます。
言語変更方法を記事最後に書いておいたので参考にしてください。
このブログからは全く読み取れないんですが、前回までPHPの確認はvertualboxを使って行っていたんですが、
今回からはmac版dockerを使って行っています。
少しぎこちなかったんですが、dockerに慣れるために、めんどくささを我慢しています。

ソース

実行

解説

実行エラーの対処「PHP Notice: Array to string conversion」

どうやら配列を文字列にコンバートしている事を指摘されているようだ。
ソースのquickSort関数の戻り値をechoしようとして

と書いていてこのエラーが出ていました。
配列を処理する様に下記に修正して対応完了です。

javascriptからのローカライズ処理

JSソースをPHPに変換するのは比較的簡単です。
今回のソースであれば以下の点に注意するだけでイケています。

・変数に$をつける(※JS変数に$がついている場合は不要)
・配列.lengthを→count(配列)に変更
・pareInt(数式,10)を(int)(数式)に変更
・関数の$beginと$endが初回実行時に未指定になるので、$begin=null , $end=nullとデフォルト値を指定
・JSのtypeofをnull判定に変更、ただしJSのundefined判定と同じにするにはisset関数を使ってもいいのだが、少しややこしくなるので今回はnullで対応
・JSはプログラムの行末に;セミコロンを付けなくても解消してしまえば問題ないが、PHPはちゃんと行末に;を付けないとエラーになる。
・配列定義がJSは[…]に対してphpはarray(…)

参考リンク

クイックソート

解説
Javascript
PHP

アルゴリズム過去記事

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

Leave a Reply

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


*