PHPによる直接選択法アルゴリズムのサンプルコード
説明直接選択法によるソートのコードです。直接選択法は1番目の要素~最後の要素の中から最も値の小さい値を探し、その要素を1番目の要素と交換、次は2番目の要素~最後の要素の中から最も値の小さい値を探し、その要素を2番目の要素と交換、という事を最後の要素まで繰り返してソートを行います。サンプルではループごとの配列の並び順も出力します。
サンプルコード
$arr = array(5,8,323,78,34,9,0,23,67,2,141,57,23);
print_array(selection_sort($arr));
function selection_sort($array) {
//要素のループ
for ($i = 0; $i < count($array); $i++) {
$min = $array[$i]; //現在の要素を最小値と仮定
$s = $i;
//次の要素~最後の要素の中から最小値を探す
for ($j = $i + 1; $j < count($array); $j++) {
if ($array[$j] < $min) {
$min = $array[$j];
$s = $j;
}
}
print_array($array); //現在の並び順の出力
//現在の要素と最小値の要素の値を入れ替える
$temp = $array[$i]; $array[$i] = $array[$s]; $array[$s] = $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 以上での利用を推奨します。