Sorting algorithms/Quicksort: Difference between revisions

Content deleted Content added
Line 68:
IDL> print,qs([3,17,-5,12,99])
-5 3 12 17 99
 
==[[MAXScript]]==
[[Category:MAXScript]]
fn quickSort arr =
(
less = #()
pivotList = #()
more = #()
if arr.count <= 1 then
(
arr
)
else
(
pivot = arr[arr.count/2]
for i in arr do
(
case of
(
(i < pivot): (append less i)
(i == pivot): (append pivotList i)
(i > pivot): (append more i)
)
)
less = quickSort less
more = quickSort more
less + pivotList + more
)
)
a = #(4, 89, -3, 42, 5, 0, 2, 889)
a = quickSort a