冒泡排序是一种简单的排序算法,通过相邻元素的比较和交换来实现排序。以下是使用PHP编写的冒泡排序算法:
function bubbleSort($arr)
{
$n = count($arr);
// 外层循环控制比较的轮数
for ($i = 0; $i < $n - 1; $i++) {
// 内层循环进行相邻元素的比较和交换
for ($j = 0; $j < $n - $i - 1; $j++) {
// 如果前一个元素比后一个元素大,交换它们的位置
if ($arr[$j] > $arr[$j + 1]) {
$temp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $temp;
}
}
}
return $arr;
}
// 示例
$arr = [5, 3, 8, 4, 2];
$result = bubbleSort($arr);
print_r($result);
这段代码首先定义了一个名为bubbleSort的函数,该函数接受一个数组参数,并返回排序后的数组。内部使用两个嵌套的for循环,外层循环用于控制比较的轮数,内层循环用于进行相邻元素的比较和交换。每一轮比较后,最大的元素会被放置在数组的末尾。最后,返回排序后的数组。
在示例代码中,给定了一个数组[5, 3, 8, 4, 2],通过调用bubbleSort函数对该数组进行排序,并将结果打印输出。运行上述代码,结果输出为Array ( [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 8 ),即排序后的数组[2, 3, 4, 5, 8]。