Adding Haskell examples (#17)
* Adding binary search example for Haskell * Adding selection sort example in Haskell * Adding Haskell examples for chapter 3 * Adding examples for chapter 4 * Adding examples for chapter 5 * Adding git ignore * Add Haskell example for BFS
This commit is contained in:
committed by
Aditya Bhargava
parent
c5c2563d05
commit
6f78bdf3d7
16
02_selection_sort/Haskell/01_selectionsort.hs
Normal file
16
02_selection_sort/Haskell/01_selectionsort.hs
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
helper :: (Integer, [Integer]) -> Integer -> (Integer, [Integer])
|
||||
helper (min, xs) e
|
||||
| min <= e = (min, e : xs)
|
||||
| otherwise = (e, min : xs)
|
||||
|
||||
minandrest :: [Integer] -> (Integer, [Integer])
|
||||
minandrest (x:xs) = foldl helper (x, []) xs
|
||||
|
||||
selectionsort :: [Integer] -> [Integer]
|
||||
selectionsort [] = []
|
||||
selectionsort xs = min : selectionsort rest
|
||||
where (min, rest) = minandrest xs
|
||||
|
||||
-- Usage
|
||||
-- selectionsort [1,4,2,3,5,6,0,7,8,9,1,9,0]
|
||||
Reference in New Issue
Block a user