PHP兑现的几种常见算法

WBOY
WBOYオリジナル
2016-06-13 11:07:31896ブラウズ

PHP实现的几种常见算法
/冒泡排序(数组排序) 
function bubble_sort($array) 

        $count = count($array); 
        if ($count 
        for($i=0; $i                for($j=$count-1; $j>$i; $j--){ 
                        if ($array[$j]                                 $tmp = $array[$j]; 
                                $array[$j] = $array[$j-1]; 
                                $array[$j-1] = $tmp; 
                        } 
                } 
        } 
        return $array; 
}

//快速排序(数组排序) 
function quick_sort($array) { 
        if (count($array) 
        $key = $array[0]; 
        $left_arr = array(); 
        $right_arr = array();

        for ($i=1; $i                if ($array[$i]                         $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); 
}

//二分查找(数组里查找某个元素) 
function bin_sch($array, $low, $high, $k){ 
    if ($low         $mid = intval(($low+$high)/2); 
        if ($array[$mid] == $k){ 
            return $mid; 
        }elseif ($k 

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。