new files
This commit is contained in:
parent
3af7344581
commit
86c034bb8b
1364 changed files with 21352 additions and 0 deletions
9
Task/Binary-search/Haskell/binary-search-1.hs
Normal file
9
Task/Binary-search/Haskell/binary-search-1.hs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
binarySearch :: Integral a => (a -> Ordering) -> (a, a) -> Maybe a
|
||||
binarySearch p (low,high)
|
||||
| high < low = Nothing
|
||||
| otherwise =
|
||||
let mid = (low + high) `div` 2 in
|
||||
case p mid of
|
||||
LT -> binarySearch p (low, mid-1)
|
||||
GT -> binarySearch p (mid+1, high)
|
||||
EQ -> Just mid
|
||||
5
Task/Binary-search/Haskell/binary-search-2.hs
Normal file
5
Task/Binary-search/Haskell/binary-search-2.hs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
import Data.Array
|
||||
|
||||
binarySearchArray :: (Ix i, Integral i, Ord e) => Array i e -> e -> Maybe i
|
||||
binarySearchArray a x = binarySearch p (bounds a) where
|
||||
p m = x `compare` (a ! m)
|
||||
Loading…
Add table
Add a link
Reference in a new issue