算法题:冒泡排序
function bubbleSort($arr) {
$len = count($arr); // 获取要排序数组的长度
for ($i = 0; $i < $len; $i++) { // 外层循环遍历整个数组
for ($j = 0; $j < $len - $i - 1; $j++) { // 内层循环用于比较相邻元素,次数随外层循环进行而减少
if ($arr[$j] > $arr[$j+1]) { // 比较相邻元素,如果前一个大于后一个,则交换它们的位置
// 相邻元素交换位置
$temp = $arr[$j]; // 将前一个元素存入临时变量 $temp
$arr[$j] = $arr[$j+1]; // 将后一个元素赋值给前一个元素
$arr[$j+1] = $temp; // 将 $temp 中存储的前一个元素赋值给后一个元素
}
}
}
return $arr; // 返回排好序的数组
}
//示例
$arr = [3, 1, 6, 2, 9, 5]; // 定义要排序的数组
$result = bubbleSort($arr); // 将数组传入冒泡排序函数
print_r($result); // 输出排序后的结果
结果:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 5
[4] => 6
[5] => 9
)