AP
Size: a a a
AP
AP
AP
AP
AP
DH
AP
ID
Box<...>
AP
ID
struct BinTree<'a, K: Ord, V> {
left: Option<&'a mut BinTree<'a, K, V>>,
right: Option<&'a mut BinTree<'a, K, V>>,
key: K,
value: V,
}
impl<'a, K: Ord, V> BinTree<'a, K, V> {
fn insert(&mut self, key: K, value: V) -> Option<V> {
match self.key.cmp(&key) {
Ordering::Less => {
if let Some(l) = &mut self.left {
l.insert(key, value)
} else {
None
}
}
Ordering::Equal => Some(std::mem::replace(&mut self.value, value)),
Ordering::Greater => None,
}
}
}
ID
ID
Box
-axID