tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
3
Task/Permutations/Haskell/permutations-1.hs
Normal file
3
Task/Permutations/Haskell/permutations-1.hs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
import Data.List (permutations)
|
||||
|
||||
main = mapM_ print (permutations [1,2,3])
|
||||
5
Task/Permutations/Haskell/permutations-2.hs
Normal file
5
Task/Permutations/Haskell/permutations-2.hs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
import Data.List (delete)
|
||||
|
||||
permutations :: Eq a -> [a] -> [[a]]
|
||||
permutations [] = [[]]
|
||||
permutations xs = [ x:ys | x <- xs, ys <- permutations (delete x xs)]
|
||||
5
Task/Permutations/Haskell/permutations-3.hs
Normal file
5
Task/Permutations/Haskell/permutations-3.hs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
permutations :: [a] -> [[a]]
|
||||
permutations [] = [[]]
|
||||
permutations xs = [ y:zs | (y,ys) <- select xs, zs <- permutations ys]
|
||||
where select [] = []
|
||||
select (x:xs) = (x,xs) : [ (y,x:ys) | (y,ys) <- select xs ]
|
||||
5
Task/Permutations/Haskell/permutations-4.hs
Normal file
5
Task/Permutations/Haskell/permutations-4.hs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
permutations :: [a] -> [[a]]
|
||||
permutations = foldr (concatMap . insertEverywhere) [[]]
|
||||
where insertEverywhere :: a -> [a] -> [[a]]
|
||||
insertEverywhere x [] = [[x]]
|
||||
insertEverywhere x l@(y:ys) = (x:l) : map (y:) (insertEverywhere x ys)
|
||||
Loading…
Add table
Add a link
Reference in a new issue