Knuth shuffle: Difference between revisions

Content added Content deleted
(→‎{{header|Scheme}}: Fixed major error in first version (no base case for recursion))
m (Added forgotten argument in replaceAt (code didn't compile).)
Line 1,054: Line 1,054:


replaceAt :: Int -> a -> [a] -> [a]
replaceAt :: Int -> a -> [a] -> [a]
replaceAt i c = let (a,b) = splitAt i l in a++x:(drop 1 b)
replaceAt i c l = let (a,b) = splitAt i l in a++x:(drop 1 b)


swapElems :: (Int, Int) -> [a] -> [a]
swapElems :: (Int, Int) -> [a] -> [a]