This commit is contained in:
Jasper Ras 2026-01-15 09:09:24 +01:00
parent eb9773627e
commit 10b29ad9cb
14 changed files with 164 additions and 0 deletions

32
ch8/ch10/median_int.rs Normal file
View file

@ -0,0 +1,32 @@
use std::collections::HashMap;
fn main() {
let mut numbers = vec![100, 23, 1, 2, 100, 38, 57, 100, 23, 44, 163];
numbers.sort();
let is_even = numbers.len() % 2 == 0;
let median: i32;
let mut count = HashMap::new();
if is_even {
let n1 = numbers[(numbers.len() / 2) - 1];
let n2 = numbers[numbers.len() / 2];
median = (n1 + n2) / 2;
} else {
median = numbers[numbers.len() / 2];
}
let mut mode: i32 = 0;
for num in numbers {
let entry = count.entry(num).or_insert(0);
*entry += 1;
if *entry > count.get(&mode).copied().unwrap_or(0) {
mode = num;
}
}
println!("median: {median}");
println!("mode: {mode}");
}