Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (*------------------------------------------------------------*)
- fun foldl f d ( nil ) = d
- | foldl f d ( x :: xs ) = foldl f ( f d x ) xs
- fun filter p = foldl ( fn a => fn c => if p c then c :: a else a ) nil
- fun sort ( nil ) = nil
- | sort ( x :: xs ) =
- let
- val left = filter ( fn v => v < x ) xs
- val right = filter ( fn v => v >= x ) xs
- in
- sort left @ x :: sort right
- end
- (*------------------------------------------------------------*)
- fun showList ( nil ) = "\n"
- | showList ( x :: xs ) = Int.toString x ^ " " ^ showList xs
- val printList = print o showList
- (*------------------------------------------------------------*)
- val arr = [ 3, 2, 3, 7, 2, 1, 0, 7 ]
- val _ =
- let
- val srt = sort arr
- in
- ( printList arr
- ; printList srt
- )
- end
- (*------------------------------------------------------------*)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement