Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Zadatak3 where
- import Data.List
- import Data.Sequence
- crossOver :: Int -> [a] -> [a] -> ([a], [a])
- crossOver i xs ys = (Data.List.take(i) xs ++ Data.List.drop(i) ys, Data.List.take(i) ys ++ Data.List.drop(i) xs)
- nth :: Enum a => Int -> [a] -> a
- nth n x = succ(x !! n)
- mutate :: Enum a => Int -> [a] -> Seq a
- -- mutate i x = take (i - 1) x ++ [succ(x !! i)] ++ drop (i + 1) x
- mutate i x = Data.Sequence.update i (nth i x) $ Data.Sequence.fromList x
- --counts :: Ord a => [a] -> [(a, Int)]
- --counts [] = 0
- --counts
- grouped :: Ord a => [a] -> [[a]]
- grouped x = group (Data.List.sort x)
- maxIndex :: Ord a => [a] -> Int
- maxIndex xs = head $ Data.List.filter ((== maximum xs) . (xs !!)) [0..]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement