php 二维数组排序比较 2 —— 快速排序法

来源:互联网 发布:mac照片功能 编辑:程序博客网 时间:2024/06/03 19:02

方法函数


function quick_sort($sort,$arr,$type = 'asc'){//默认为正序排列    $len = count($arr);    if($len <= 1)    {        return $arr;    }    $key = $arr[0];$key_sort = $sort[0];    $arr_left = array();$sort_left = array();    $arr_right = array();$sort_right = array();    for ($i=1;$i<$len;$i++)    {if($type = 'desc'){//倒序排列if($arr[$i] >= $key){$arr_left[] = $arr[$i];$sort_left [] = $sort[$i];}else{$arr_right[] = $arr[$i];$sort_right [] = $sort[$i];}}else{//正序排列if($arr[$i] <= $key){$arr_left[] = $arr[$i];$sort_left [] = $sort[$i];}else{$arr_right[] = $arr[$i];$sort_right [] = $sort[$i];}}    }    $arr_left = quick_sort($arr_left,$sort_left,$type);    $arr_right = quick_sort($arr_right,$sort_right,$type);    return array_merge($sort_left,array($key_sort),$sort_right);}

调用方法函数


$a = Array();foreach($sort as $key=>$val){$a[] = $val['created_at'];}var_dump(quick_sort($sort,$a,'asc'));//正序排列//var_dump(quick_sort($sort,$a,'desc'));//倒序排列



0 0
原创粉丝点击