Sorting algorithms/Permutation sort: Difference between revisions
Content deleted Content added
→{{header|Common Lisp}}: CL predicate style |
|||
Line 220:
insert e l@(h : t) = return (e : l) `mplus`
do { t' <- insert e t ; return (h : t') }</lang>
{{works with|GHC|6.10}}
<lang haskell>import Data.List (permutations)
permutationSort l = head [p | p <- permutations l, sorted p]
sorted (e1 : e2 : r) = e1 <= e2 && sorted (e2 : r)
sorted _ = True</lang>
=={{header|Icon}}==
|