您现在的位置是:首页 > 后端 > PHP PHP
PHP冒泡排序
2020-05-08【PHP】3578人已围观
简介PHP冒泡排序
<?php
// 冒泡排序
$a = [32,45,56,3,23,54,323];
function maopao($a){
for($i=0;$i<count($a);$i++){
for($y=$i+1;$y<count($a);$y++){
if($a[$i] > $a[$y]){
$tmp = $a[$i];
$a[$i] = $a[$y];
$a[$y] = $tmp;
}
}
}
return $a;
}
echo "<pre>";
var_dump(maopao($a));
// 递归 - 冒泡排序
// 思路 - 拿出第一个数跟其他数比较,大于小于次数分两边,自己在中间
// (1) 递归就是在过程或函数里调用自身。 ...
// (2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。 ...
// (3) 递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。 ...
// (4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。 ...
$arr2 = $a;
function oo2($arr2){
$num = count($arr2);
if($num <= 1){return $arr2;} //递归出口
$one = $arr2[0];
$arr_left = array();
$arr_right = array();
for ($i=1; $i < $num; $i++) {
if($one > $arr2[$i]){
$arr_right[] = $arr2[$i];
}else{
$arr_left[] = $arr2[$i];
}
}
return array_merge(oo2($arr_right),array($one),oo2($arr_left));
}
print_r(oo2($arr2));
结果
Array
(
[0] => 3
[1] => 23
[2] => 32
[3] => 45
[4] => 54
[5] => 56
[6] => 323
)
Array
(
[0] => 3
[1] => 23
[2] => 32
[3] => 45
[4] => 54
[5] => 56
[6] => 323
)
关注博客,更多精彩分享,敬请期待!
Tags: 面试题
很赞哦! (0)
相关文章
随机图文
css动画
> 在CSS动画中,如果你想让元素的 border-radius 从50%逐渐变为0%,你可以使用 @keyframes 规则来定义这一变化过程。以下是一个简单的示例: ```css /* 定义一个动画 */ @keyframes borderRadiusChange { 0% { border-radius: 50%; } 100% { border-radius: 0; } } /* 将动画应用到某个元素上 */ .someElementbat锁屏和熄屏 windows
bat锁屏和熄屏 windowsPHP中判断字符串是否含有中文
## 判断全是中文 > 方法一 ``` $str = '吾爱编程'; if (preg_match_all("/^([\x81-\xfe][\x40-\xfe])+$/", $str, $match)) { echo '全部是中文'; } else { echo '不全是中文'; } ``` > 方法二 ``` $str="'吾爱it编程"; if(!eregi("[^\x80-\xff]","$str")){ echo "全是中文";PHP日历
PHP日历小案例