You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
598 B
PHP
28 lines
598 B
PHP
<?php
|
|
function quick_sort($my_array)
|
|
{
|
|
$loe = $gt = array();
|
|
if(count($my_array) < 2)
|
|
{
|
|
return $my_array;
|
|
}
|
|
$pivot_key = key($my_array);
|
|
$pivot = array_shift($my_array);
|
|
foreach($my_array as $val)
|
|
{
|
|
if($val <= $pivot)
|
|
{
|
|
$loe[] = $val;
|
|
}elseif ($val > $pivot)
|
|
{
|
|
$gt[] = $val;
|
|
}
|
|
}
|
|
return array_merge(quick_sort($loe),array($pivot_key=>$pivot),quick_sort($gt));
|
|
}
|
|
|
|
$my_array = array(3, 0, 2, 5, -1, 4, 1);
|
|
echo 'Original Array : '.implode(',',$my_array).'\n';
|
|
$my_array = quick_sort($my_array);
|
|
echo 'Sorted Array : '.implode(',',$my_array);
|
|
?>
|