用PHP写的一个冒泡排序法的函数简单实例

冒泡排序是一种比较基础的排序算法,可以对一个序列进行排序。下面我来详细讲解如何用PHP编写一个冒泡排序的函数。

冒泡排序是一种比较基础的排序算法,可以对一个序列进行排序。下面我来详细讲解如何用PHP编写一个冒泡排序的函数。

冒泡排序算法简介

冒泡排序的基本思路是:比较相邻的两个元素,如果前一个元素比后一个元素大,就交换它们的位置。重复这个过程直到所有的元素都按照从小到大的顺序排列。

编写PHP冒泡排序函数

  1. 定义一个冒泡排序函数bubble_sort。
function bubble_sort($arr){
    $len=count($arr);   // 获取数组长度
    for($i=0;$i<$len-1;$i++){   // 循环比较元素
        for($j=0;$j<$len-1-$i;$j++){
            if($arr[$j]>$arr[$j+1]){
                $temp=$arr[$j+1];
                $arr[$j+1]=$arr[$j];
                $arr[$j]=$temp;
            }
        }
    }
    return $arr;   // 返回排序后的数组
}
  1. 测试冒泡排序函数。
$arr=array(64,25,12,22,11);
echo "排序前:";
print_r($arr);  // 打印排序前的数组
echo "<br>";
$arr=bubble_sort($arr);  // 调用冒泡排序函数
echo "排序后:";
print_r($arr);  // 打印排序后的数组

运行该函数后,可以得到以下的输出结果,证明冒泡排序函数正常工作。

排序前:Array ( [0] => 64 [1] => 25 [2] => 12 [3] => 22 [4] => 11 )
排序后:Array ( [0] => 11 [1] => 12 [2] => 22 [3] => 25 [4] => 64 )

示例说明

示例1:对一个随机的整数数组进行冒泡排序。

$arr=array(9,5,7,2,6,4,8,1,3);
echo "排序前:";
print_r($arr);  // 打印排序前的数组
echo "<br>";
$arr=bubble_sort($arr);  // 调用冒泡排序函数
echo "排序后:";
print_r($arr);  // 打印排序后的数组

输出结果如下:

排序前:Array ( [0] => 9 [1] => 5 [2] => 7 [3] => 2 [4] => 6 [5] => 4 [6] => 8 [7] => 1 [8] => 3 )
排序后:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )

示例2:对一个随机的英文单词数组进行冒泡排序。

$arr=array("hello","world","apple","cat","dog");
echo "排序前:";
print_r($arr);  // 打印排序前的数组
echo "<br>";
$arr=bubble_sort($arr);  // 调用冒泡排序函数
echo "排序后:";
print_r($arr);  // 打印排序后的数组

输出结果如下:

排序前:Array ( [0] => hello [1] => world [2] => apple [3] => cat [4] => dog )
排序后:Array ( [0] => apple [1] => cat [2] => dog [3] => hello [4] => world )

以上两个示例展示了如何对整数数组和字符串数组进行冒泡排序。

本文标题为:用PHP写的一个冒泡排序法的函数简单实例

基础教程推荐