Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,17 @@
|
|||
main :: [sys_message]
|
||||
main = [Stdout ("Before: " ++ show testlist ++ "\n"),
|
||||
Stdout ("After: " ++ show (mergesort testlist) ++ "\n")]
|
||||
where testlist = [4,65,2,-31,0,99,2,83,782,1]
|
||||
|
||||
mergesort :: [*]->[*]
|
||||
mergesort [] = []
|
||||
mergesort [x] = [x]
|
||||
mergesort xs = merge (mergesort l) (mergesort r)
|
||||
where (l, r) = split [] [] xs
|
||||
split l r [] = (l,r)
|
||||
split l r [x] = (x:l,r)
|
||||
split l r (x:y:xs) = split (x:l) (y:r) xs
|
||||
merge xs [] = xs
|
||||
merge [] ys = ys
|
||||
merge (x:xs) (y:ys) = x:y:merge xs ys, if x<y
|
||||
= y:x:merge xs ys, if x>=y
|
||||
Loading…
Add table
Add a link
Reference in a new issue