本文整理汇总了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);
}
}