Sorting algorithms/Quicksort: Difference between revisions
Content added Content deleted
m (Cosmetic changes in the Io version.) |
No edit summary |
||
Line 1,064: | Line 1,064: | ||
print join ', ' => quicksort { $a <=> $b } 3, 5, 7, 1, -6, 12, 2;</lang> |
print join ', ' => quicksort { $a <=> $b } 3, 5, 7, 1, -6, 12, 2;</lang> |
||
=={{header|PHP}}== |
|||
<lang php>function quicksort($arr){ |
|||
$loe = $gt = array(); |
|||
if(count($arr) < 2){ |
|||
return $arr; |
|||
} |
|||
$pivot_key = key($arr); |
|||
$pivot = array_shift($arr); |
|||
foreach($arr as $val){ |
|||
if($val <= $pivot){ |
|||
$loe[] = $val; |
|||
}elseif ($val > $pivot){ |
|||
$gt[] = $val; |
|||
} |
|||
} |
|||
return array_merge(quicksort($loe),array($pivot_key=>$pivot),quicksort($gt)); |
|||
} |
|||
$arr = array(1, 3, 5, 7, 9, 8, 6, 4, 2); |
|||
$arr = quicksort($arr); |
|||
echo implode(',',$arr);</lang> |
|||
<pre>1,2,3,4,5,6,7,8,9</pre> |
|||
=={{header|PicoLisp}}== |
=={{header|PicoLisp}}== |