codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
insertionSort p [] = [] insertionSort p (x:xs) = fst $ foldl (\(os,m) n -> if m > n then ((insert p os n), m) else (os++[n], n)) ([x], x) xs insert p os u = ls ++ (u:hs) where (ls, hs) = span (\x -> p x u) os main = print $ insertionSort (>) [3,4,5,3,2,1,4]
Private
[
?
]
Run code
Submit