Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # problem 19
- binary_search <- function(vector, element, start = 1, end = length(vector)) {
- if (end < start)
- return(NaN)
- m <- as.integer(ceiling((end + start) / 2)) # Midpoint
- # Элемент слева
- if (vector[m] > element) {
- binary_search(vector, element, start = start, end = m - 1L)
- }
- # Элемент справа
- else if (vector[m] < element) {
- binary_search(vector, element, start = m + 1L, end = end)
- }
- # Элемент найден
- else
- return(m)
- }
- binary_search(c(1, 2, 3, 4,4,4,4, 5, 6, 7, 8, 9, 10), 5)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement