BTreeSetとBTreeMapで最小値・最大値を取得する方法を紹介します。
まずはBTreeSet。
let mut set = BTreeSet::new();
set.insert(2);
set.insert(3);
set.insert(1);
set.insert(5);
set.insert(4);
let min = set.iter().next().unwrap();
let max = set.iter().next_back().unwrap();
println!("min={}, max={}", min, max); //=> min=1, max=5
次はBTreeMap。
let mut map = BTreeMap::new();
map.insert("C", 3);
map.insert("B", 2);
map.insert("E", 5);
map.insert("A", 1);
map.insert("D", 4);
let min_key = map.keys().next().unwrap();
let max_key = map.keys().next_back().unwrap();
println!("min_key={}, max_key={}", min_key, max_key); //=> min_key=A, max_key=E
環境情報
Cargo.toml
[package]
name = "sample"
version = "0.1.0"
edition = "2021"