Ben php bazı nesneleri Quicksort arıyorum.
Ben nesneleri bir dizi sıralama ediyorum
$object->x;
$object->y;
$object->z;
Ben x Birinci tür istiyorum, sonra y, sonra z.
This is my quicksort function Where it accepts an array of jobjects, and sorts by a particular sortkey (x, y, or z column) The function returns a sorted array of objects, that have been sorted by the sortkey.
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));
}
Ben kolayca quicksort herhangi bireysel kolon bir quicksort özyinelemeli bir algoritma kullanarak, ama gerçekten kafamı karıştırıyor onları bir araya gruplama ve ardından N. zaman için bu alt grupları sıralama yapabilirsiniz.
Ben bakıyor olabilir bir algoritma var mı?