本文整理匯總了PHP中Arrays::quickSort方法的典型用法代碼示例。如果您正苦於以下問題:PHP Arrays::quickSort方法的具體用法?PHP Arrays::quickSort怎麽用?PHP Arrays::quickSort使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Arrays
的用法示例。
在下文中一共展示了Arrays::quickSort方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: insertQuickSort
function insertQuickSort(&$array, &$comparator, $head_offset, $tail_offset, $limit = 200)
{
$head = (int) $head_offset;
$tail = (int) $tail_offset;
if ($tail - $head <= $limit) {
Arrays::insertSort($array, $comparator, $head, $tail);
}
$middle = intval(($head + $tail) / 2);
$pivot = $array[$middle];
do {
while ($comparator->compare($array[$head], $pivot) < 0 && $head < $tail_offset) {
$head++;
}
while ($comparator->compare($pivot, $array[$tail]) < 0 && $tail > $head_offset) {
$tail--;
}
if ($head <= $tail) {
Arrays::swap($array, $head++, $tail--);
}
} while ($head <= $tail);
if ($head_offset < $tail) {
Arrays::quickSort($array, $comparator, $head_offset, $tail);
}
if ($head < $tail_offset) {
Arrays::quickSort($array, $comparator, $head, $tail_offset);
}
}