我期待在php中快速排列一些對象。如何快速排列多列
即時用x分選物體
陣列$object->x;
$object->y;
$object->z;
我想先排序,則y,則z。
這是我的快速排序功能 哪裏它接受jobjects的陣列,和由一個特定的排序關鍵字(X,Y,或Z柱) 該函數返回的對象的排序後的數組,即已經由排序關鍵字進行排序排序。
private function quicksort($objects, $sortKey) {
if(count($objects) < 2) return $objects;
$left = $right = array();
reset($objects);
$pivot_key = key($objects);
$pivot = array_shift($objects);
foreach($objects as $k => $v) {
if($v->$sortKey < $pivot->$sortKey)
$left[$k] = $v;
else
$right[$k] = $v;
}
return array_merge($this->quicksort($left,$sortKey), array($pivot_key => $pivot), $this->quicksort($right,$sortKey));
}
我可以很容易地快速排序使用快速排序遞歸算法,但他們一起分組,然後排序這些分組到第n次的任何單列真的把我的頭搞亂。
有沒有我可以查看的算法?