pub fn busqueda_binaria<T: PartialEq + PartialOrd>(a: &T, arr: &[T]) -> i32 {
let mut i = -1;
if arr.is_empty() {
return i;
}
let mut x = 0;
let mut y = arr.len() - 1;
while x < y {
let z = x + (y - x) / 2;
if &arr[z] > a{
y = z - 1;
} else if &arr[z] < a {
x = z + 1;
} else {
x = z;
break;
}
}
if &arr[x] == a {
i = x as i32;
return i;
} else {
return i;
}
}
fn main() {
let arr = busqueda_binaria(&25, &vec![25, 80, 29, 20, 25]);
println!("{}", arr);
let arr = busqueda_binaria(&855, &vec![25, 26, 31, 34, 10]);
println!("{}", arr);
}