以下に、PHPでのバブルソートのコード例を示します:
function bubbleSort($array) {
$n = count($array);
for ($i = 0; $i < $n - 1; $i++) {
for ($j = 0; $j < $n - $i - 1; $j++) {
if ($array[$j] > $array[$j + 1]) {
// 要素の交換
$temp = $array[$j];
$array[$j] = $array[$j + 1];
$array[$j + 1] = $temp;
}
}
}
return $array;
}
// 使用例
$numbers = [5, 2, 8, 12, 1];
$sortedNumbers = bubbleSort($numbers);
print_r($sortedNumbers);
上記のコードでは、bubbleSort
という関数を定義しています。この関数は、配列を引数として受け取り、ソートされた配列を返します。
バブルソートは、最初に配列の先頭から隣接する要素を比較し、必要に応じて交換します。その後、隣接する要素のペアを順番に比較・交換していきます。これを配列の末尾まで繰り返すことで、配列全体がソートされます。
上記の使用例では、$numbers
という配列を定義し、bubbleSort
関数を使用してソートします。ソートされた結果は$sortedNumbers
に格納され、print_r
関数を使用して表示されます。
バブルソートは、要素数が多い配列や効率性が重要な場合には適していません。代わりに、クイックソートやマージソートなどのより効率的なソートアルゴリズムを検討することをおすすめします。