Advertisement
Guest User

vjezba

a guest
Dec 17th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module Zadatak3 where
  2.  
  3.   import Data.List
  4.   import Data.Sequence
  5.  
  6.   crossOver :: Int -> [a] -> [a] -> ([a], [a])
  7.   crossOver i xs ys = (Data.List.take(i) xs ++ Data.List.drop(i) ys, Data.List.take(i) ys ++ Data.List.drop(i) xs)
  8.  
  9.   nth :: Enum a => Int -> [a] -> a
  10.   nth n x = succ(x !! n)
  11.  
  12.   mutate :: Enum a => Int -> [a] -> Seq a
  13.   -- mutate i x = take (i - 1) x ++ [succ(x !! i)] ++ drop (i + 1) x
  14.   mutate i x = Data.Sequence.update i (nth i x) $ Data.Sequence.fromList x
  15.  
  16.   --counts :: Ord a => [a] -> [(a, Int)]
  17.   --counts [] = 0
  18.   --counts
  19.  
  20.   grouped :: Ord a => [a] -> [[a]]
  21.   grouped x = group (Data.List.sort x)
  22.  
  23.   maxIndex :: Ord a => [a] -> Int
  24.   maxIndex xs = head $ Data.List.filter ((== maximum xs) . (xs !!)) [0..]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement