Anonymous user
Binary search: Difference between revisions
→{{header|Rust}}
(Add task to ARM assembly Raspberry pi) |
|||
Line 4,851:
}
None
}
</lang>
'''Iterative'''
<lang rust>
use std::cmp::Ordering::*;
pub fn binary_search<T: Ord>(data: &[T], target: &T) -> Option<usize> {
let mut high = data.len();
let mut low = 0;
let mut mid = high / 2;
while low < high {
let _result = match target.cmp(&data[mid]) {
Less => {
high = mid;
},
Greater => {
low = mid;
}
Equal => return Some(mid)
};
mid = (high + low) / 2;
}
None
}
|