[Haskell-cafe] shuffle error
Daniel Fischer
daniel.is.fischer at web.de
Mon Mar 2 10:29:31 EST 2009
Am Montag, 2. März 2009 15:18 schrieb friggin friggin:
> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=1989#a1990
>
>
> Is the algorithm wrong ar am I using it wrong?
a) what if there are more random numbers than elements in the tree?
I suggest
shuffle' (Leaf e) _ = [e]
b) You don't cater for the case when the number of the element to be extracted
is larger than the size of the tree-1
I suggest giving a first case of
extractTree n t@(Node c _ _)
| c <= n = extractTree (n `mod` c) t
to extractTree
>
> Also, is the second argument to shuffle supposed to eb random numbers, ie
> the function should be used in the IO Monad?
The function is pure. Whether you use it in the IO monad or not depends on
whether the input lives inside the IO monad.
More information about the Haskell-Cafe
mailing list