PHPによる基本挿入法アルゴリズムのサンプルコード
説明基本挿入法によるソートのコードです。基本挿入法では2番目の要素から順番に左側にある要素の値を左方向に向かって順番に比較していき、もしその要素の値が、現在の要素の値より大きい場合は、その要素の値を右側に1つずらしていきます。そして、現在の要素の値以下の要素を見つければ、その要素の右隣りの要素に現在の要素の値を挿入、という事を最後の要素まで繰り返してソートを行います。サンプルではループごとの配列の並び順も出力します。
サンプルコード
$arr = array(5,8,323,78,34,9,0,23,67,2,141,57,23);
print_array(insertion_sort($arr));
function insertion_sort($array) {
//要素のループ
for ($i = 1; $i < count($array); $i++) {
print_array($array); //現在の並び順の出力
$temp = $array[$i]; //現在の要素の値を一時保存
//現在の要素の左側にある要素の値が、現在の要素の値より大きい場合、その要素の値を右側に1つずらしていく
for ($j = $i - 1; $j >= 0 && $array[$j] > $temp; $j--) {
$array[$j + 1] = $array[$j];
}
$array[$j + 1] = $temp; //現在の要素の左側にある要素の値が、現在の要素の値以下なら、その右隣りの要素に現在の要素を挿入
}
return $array;
}
//配列の内容を出力
function print_array($array) {
echo "{\t";
foreach($array as $value) {
echo $value;
echo ",\t";
}
echo "}\n";
}
PHPバージョン8.2
使い方
任意のPHPのコードをWeb上で実行して実行結果を確認できる無料のPHPコードエディタアプリです。
コード欄にPHPのコード(<?phpと?>は不要)を記述して、実行ボタンをクリックしてください。
PHPのソースコードをphpコマンドで実行するのと同じような感覚で実行結果が下のテキストエリアに表示されます。
また、関数の自動補完(2文字目を入力した時点で関数候補を表示)やコードエディタの背景色の変更も可能です。
外出中など手元にPCが無い場合の学習や、ちょっとしたコードのチェックなどに是非ご活用ください。
注意
無限ループや処理に時間がかかるコードを実行した場合、約1秒でタイムアウトしその時点の結果を出力します。
なるべく高い負荷のかかるコードの実行はご遠慮ください。
注意
画面解像度 1366×768 以上での利用を推奨します。