1 - 下载 Swoole Loader 请下载 WINNT 系统 PHP-7.4.33 版本 非线程安全 的 swoole_loader 扩展,点击直达下载页面 2 - 安装 Swoole Loader 将刚才下载的 swoole_loader 扩展文件( swoole_loader.dll )上传到当前 PHP 的扩展安装目录中: ext......
php 排序算法
越来越多的公司喜欢在PHP程序员的笔试题中增加排序算法部分,以此来印证PHP程序的计算机基础。今天给大家列出4中常见的PHP排序算法。
方法/步骤
1.冒泡排序:(优化过后的)
代码如下:
//冒泡排序
$array = array(11,-3,51,-7,9,100,2,-56,32,21);
$flag = false;
for ($i = 1;$i count($array);$i ){
for ($j = 0;$j count($array) - $i;$j ){
if ($array[$j] > $array[$j 1]){
$temp = $array[$j];
$array[$j] = $array[$j 1];
$array[$j 1] = $temp;
$flag = true;
}
}
if (!$flag){
break;
}
$flag = false;
}
foreach ($array as $value){
echo $value.'  ';
}
2.选择排序(自己优化了下)
代码如下:
$array3 = array(11,-3,51,-7,9,100,2,-56,32,21);
for ($i = 0;$i count($array3) - 1;$i ){
for ($j = $i 1;$j count($array3);$j ){
if ($array3[$j] $array3[$i]){
$temp = $array3[$i];
$array3[$i] = $array3[$j];
$array3[$j] = $temp;
}
}
}
foreach ($array3 as $value){
echo $value.' ';
}
3.插入排序:
代码如下:
$array4 = array(11,-3,51,-7,9,100,2,-56,32,21);
for ($i = 1;$i count($array4);$i ){
$insertVal = $array4[$i];
$insertIndex = $i - 1;
while ($insertIndex >=0 && $insertVal $array4[$insertIndex]){
$array4[$insertIndex 1] = $array4[$insertIndex];
$insertIndex--;
}
$array4[$insertIndex 1] = $insertVal;
}
foreach ($array4 as $value){
echo $value.' ';
}
4.快速排序
代码如下:
function quickSort($arr){
if (count($arr) 1){
return $arr;
}
$key = $arr[0];
$left_arr = array();
$right_arr = array();
for($i=1; $i count($arr); $i ){
if($arr[$i] = $key){
$left_arr[] = $arr[$i];
} else {
$right_arr[] = $arr[$i];
}
}
$left_arr = quickSort($left_arr);
$right_arr = quickSort($right_arr);
return array_merge($left_arr, array($key), $right_arr);
}
$arr = array(11,-3,51,-7,9,100,2,-56,32,21);
$arr2= quickSort($arr);
foreach ($arr2 as $key=>$value){
echo $value." ";
}
注意事项
建议大家最少熟练掌握两种。这里推荐冒泡排序和选择排序。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: PHP
相关文章