• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

php算法,冒泡排序

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

冒泡排序

/***
*从小到大排列
 * 逻辑分析    假设数组 $arr=[a,b,c,d];
 * 总数=4;
 *      比较对象  第几个元素  比较次数
 *       a          1          3
 *       b          2          2
 *       c          3          1
 **/

function ele_sort($arr){
    $length=count($arr);
    if($length<2){
        return $arr;
    }
    for($i=0;$i<$length;$i++){
        for($j=$i+1;$j<$length;$j++){
            if($arr[$i]>$arr[$j]){
                $tmp=$arr[$j];
                $arr[$j]=$arr[$i];
                $arr[$i]=$tmp;
            }
        }

    }
    return $arr;

}

$arr1=[12,42,53,21,76865,86,43,1];
var_dump(ele_sort($arr1));

 

function bubble_sort($array)

{

$count = count($array);

if ($count <= 0) return false;

for($i=0; $i<$count; $i++){

for($j=$count-1; $j>$i; $j--){

if ($array[$j] < $array[$j-1]){

$tmp = $array[$j];

$array[$j] = $array[$j-1];

$array[$j-1] = $tmp;

}

}

}

return $array;

} 

 极速排序

function quick_sort($array)
{
    if (count($array) <= 1) return $array;
    $key = $array[0];
    $left_arr = array();
    $right_arr = array();
    for ($i = 1; $i < count($array); $i++) {
        if ($array[$i] <= $key)
            $left_arr[] = $array[$i];
        else
            $right_arr[] = $array[$i];
    }
    $left_arr = quick_sort($left_arr);

    $right_arr = quick_sort($right_arr);

    return array_merge($left_arr, array($key), $right_arr);
}
$arr1=[12,123,35,65,98,06,43,21,1,77];
$res=quick_sort($arr1);
var_dump($res);

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
让PHP更快的提供文件下载 【转】发布时间:2022-07-10
下一篇:
php中文件断点上传怎么实现?发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap