Ämne: Permutation
Visa ett inlägg
Oläst 2009-03-13, 06:56 #6
etanders etanders är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 160
etanders etanders är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 160
Detta påminner mig om det mycket trevliga språket Haskell, för funktionell programmering. Det blir ofta väldigt kompakt syntax, men har man lärt sig hur det funkar är det otroligt smidigt t.ex. för den här typen av problem.

Kod:
perms :: Eq a => [a] -> [[a]]
perms [] = [[]]
perms xs = [ x:ps | x <- xs, ps <- perms (xs\\[x]) ]
"Kör" man nu perms [1,2,3] blir resultatet
[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
etanders är inte uppkopplad   Svara med citatSvara med citat