diff options
Diffstat (limited to 'quicksort.hs')
-rw-r--r-- | quicksort.hs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/quicksort.hs b/quicksort.hs new file mode 100644 index 0000000..78330f3 --- /dev/null +++ b/quicksort.hs @@ -0,0 +1,12 @@ + + + +quickSort :: Ord a => [a] -> [a] +quickSort [] = [] +quickSort (x:xs) = + let less = [ a | a <- xs, a < x ] + equal = [ b | b <- (x:xs), b == x ] + greater = [ c | c <- xs, c > x ] + in quickSort less ++ equal ++ quickSort greater + + |