No Such Blog or Diary
Home > プログラミング > 順列を内包表記で in Haskell
書くとこうなる
perm [] = [] perm [a] = [[a]] perm (x:xs) = [ take i y ++ (x:drop i y) | y <- perm xs, i <- [1..length xs]]
ちなみに,y と i の生成順を逆にすると遅くなる.内側が先に確定して外側に行くので.
Page Top