function bubbleSort($arr) {
$len = count($arr);
for ($i = 0; $i < $len - 1; $i++) {
for ($j = 0; $j < $len - $i - 1; $j++) {
if ($arr[$j] > $arr[$j+1]) {
$temp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $temp;
}
}
}
return $arr;
}
// 示例
$arr = array(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5);
$result = bubbleSort($arr);
print_r($result);冒泡排序是一种基本的排序算法,其基本思想是通过比较相邻两个元素的大小,将较大的元素不断地向右移动,最终实现将整个数组排序的目的。
在 PHP 中,可以通过使用 for 循环来实现冒泡排序。具体实现步骤如下:
首先,定义一个 bubbleSort 函数,该函数接受一个数组作为参数。
在函数内部,使用 count 函数获取数组的长度,并将其赋值给变量 $len。
使用两层 for 循环来实现冒泡排序。外层循环控制比较的轮数,循环变量 $i 的初始值为 0,终止条件为 $i < $len - 1,每次循环结束后将 $i 自增 1。
内层循环控制每轮比较的次数,循环变量 $j 的初始值为 0,终止条件为 $j < $len - $i - 1,每次循环结束后将 $j 自增 1。
在每轮比较中,使用 if 语句判断相邻两个元素的大小,如果前一个元素比后一个元素大,则交换它们的位置。
最后,将排序后的数组返回。