冒泡排序是一种比较基础的排序算法,可以对一个序列进行排序。下面我来详细讲解如何用PHP编写一个冒泡排序的函数。
冒泡排序是一种比较基础的排序算法,可以对一个序列进行排序。下面我来详细讲解如何用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写的一个冒泡排序法的函数简单实例
基础教程推荐
猜你喜欢
- Laravel框架环境与配置操作实例分析 2023-03-17
- 关于PHP5.6+版本“No input file specified”问题的解决 2023-03-17
- 数值型数据处理 2023-10-08
- PHP时间处理类操作示例 2022-11-14
- PHP ADODB实现分页功能简单示例 2022-10-19
- PHP项目多语言配置平台实现过程解析 2023-04-19
- PHP实现的操作数组类库定义与用法示例 2023-01-15
- 如何动态查看及加载PHP扩展 2023-06-04
- 解决Thinkphp6 中使用 MySQL5.7 group by问题this is incompatible with sql_mode=only_full_group_by 2023-08-30
- phpMyAdmin通过密码漏洞留后门文件 2022-11-26