added demo folder
This commit is contained in:
parent
e2afa2b775
commit
88fb529679
5 changed files with 66 additions and 0 deletions
17
demo/quicksort.crf
Normal file
17
demo/quicksort.crf
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
filter : (a -> Bool) -> List a -> List a
|
||||
filter p xs = case xs of
|
||||
Nil => Nil
|
||||
Cons x xs => case p x of
|
||||
True => Cons x (filter p xs)
|
||||
False => filter p xs
|
||||
|
||||
quicksort : List Int -> List Int
|
||||
quicksort xs = case xs of
|
||||
Nil => Nil
|
||||
Cons a as => let smaller = quicksort (filter (\y. y < a) xs) in
|
||||
let bigger = quicksort (filter (\y. a < y) xs) in
|
||||
smaller ++ (Cons a bigger)
|
||||
|
||||
-- [5, 2, 8, 9, 6, 0, 1]
|
||||
main = let list = Cons 5 (Cons 2 (Cons 8 (Cons 9 (Cons 6 (Cons 0 (Cons 1 Nil)))))) in
|
||||
printList (quicksort list)
|
||||
Loading…
Add table
Add a link
Reference in a new issue