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 语句判断相邻两个元素的大小,如果前一个元素比后一个元素大,则交换它们的位置。
最后,将排序后的数组返回。