二维数组快速排序

来源:互联网 发布:fifaol3最新数据库 编辑:程序博客网 时间:2024/04/30 03:38

<?php

function quick_sort($array,$bykey=1,$descorasc=1){   if (count($array) <= 1) return $array;   $key = $array[0][$bykey];   $key_arr=$array[0];   $left_arr = array();   $right_arr = array();   for ($i=1; $i<count($array); $i++){    if ($descorasc==1){//按降序排     if ($array[$i][$bykey] <= $key)     {      $left_arr[] = $array[$i];     }      else      {       $right_arr[] = $array[$i];      }    }else {//按升序排     if ($array[$i][$bykey] >$key)        $left_arr[] = $array[$i];      else        $right_arr[] = $array[$i];     }   }   $left_arr = quick_sort($left_arr,$bykey,$descorasc);   $right_arr = quick_sort($right_arr,$bykey,$descorasc);

  return array_merge($left_arr,array($key_arr), $right_arr);  //return array_merge($left_arr, array($key), $right_arr); } $arr=array(array('a'=>'8','b'=>12),array('a'=>'a','b'=>24),array('a'=>'a','b'=>7),array('a'=>'a','b'=>97),array('a'=>'a','b'=>9),array('a'=>'a','b'=>5)); $arr=quick_sort($arr,'b'); echo '<hr>'; var_dump($arr); $arr=quick_sort($arr,'b',0); echo '<hr>'; var_dump($arr);

?>

原创粉丝点击