fn main() {
let data = vec![10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
let target = 50;
binary_search(data, target);
}
fn binary_search(data: Vec<u32>, target: u32) {
let mut left = 0;
let mut right = data.len() - 1;
while left <= right {
let mid = (left + right) / 2;
if data[mid] == target {
println!("ターゲットは要素の[{}]です。", mid);
break;
} else if data[mid] < target {
left = mid + 1;
} else {
right = mid - 1;
}
}
}
Compiling rust v0.1.0 (/home/vagrant/dev/algorithm/rust)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.13s
Running `target/debug/rust`
ターゲットは要素の[4]です。
これは凄い面白いなあ