快速排序

function quick_sort(&$a_data)
{
    if (count($a_data) > 1) {
        $k = $a_data[0];
        $x = array();
        $y = array();
        $len = count($a_data);
        for ($i = 1; $i < $len; $i++) {
            if ($a_data[$i] <= $k) {
                $x[] = $a_data[$i];
            } elseif ($a_data[$i] > $k) {
                $y[] = $a_data[$i];
            }
        }
        $x = quick_sort($x);
        $y = quick_sort($y);
        return array_merge($x, array($k), $y);
    } else {
        return $a_data;
    }
}

$a_data = array(20, 40, 60, 80, 30, 70, 90, 10, 50, 0);
var_dump(quick_sort($a_data));

 

posted @ 2015-11-30 23:22  joy696163  阅读(875)  评论(0编辑  收藏  举报