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]です。
これは凄い面白いなあ