冒泡排序是一种比较基础的排序算法,可以对一个序列进行排序。下面我来详细讲解如何用PHP编写一个冒泡排序的函数。
冒泡排序算法简介
冒泡排序的基本思路是:比较相邻的两个元素,如果前一个元素比后一个元素大,就交换它们的位置。重复这个过程直到所有的元素都按照从小到大的顺序排列。
编写PHP冒泡排序函数
- 定义一个冒泡排序函数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; // 返回排序后的数组
}
- 测试冒泡排序函数。
$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写的一个冒泡排序法的函数简单实例 - Python技术站