• php算法,冒泡排序


    冒泡排序

    /***
    *从小到大排列
     * 逻辑分析    假设数组 $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);
  • 相关阅读:
    Easy Install详细参数
    linux.backspace乱码(转)
    RemoteFX
    netsh
    sc.exe
    WinRM和WinRS
    安全配置向导
    使用 Sconfig.cmd 配置服务器核心服务器
    FSMO
    Windows Server 2012之活动目录域服务的卸载
  • 原文地址:https://www.cnblogs.com/huay/p/10367422.html
Copyright © 2020-2023  润新知