php 二维数组排序比较 2 —— 快速排序法 分类: php 二维数组排序 快速排序 2014-06-24 11:39 190人阅读 评论(0) 收藏

方法函数


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'));//倒序排列




版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2014-06-24 11:39  snow_finland  阅读(194)  评论(0编辑  收藏  举报