节点查询
(&self, key: &T)
| 178 | |
| 179 | // 节点查询 |
| 180 | fn contains(&self, key: &T) -> bool { |
| 181 | match &self.key { |
| 182 | None => false, |
| 183 | Some(k) => { |
| 184 | // 比较 key 值,并判断是否继续递归查找 |
| 185 | match k.cmp(key) { |
| 186 | Equal => true, // 找到数据 |
| 187 | Greater => { // 在左子树搜索 |
| 188 | match &self.left { |
| 189 | Some(node) => node.contains(key), |
| 190 | None => false, |
| 191 | } |
| 192 | }, |
| 193 | Less => { |
| 194 | match &self.right { // 在右子树搜索 |
| 195 | Some(node) => node.contains(key), |
| 196 | None => false, |
| 197 | } |
| 198 | }, |
| 199 | } |
| 200 | }, |
| 201 | } |
| 202 | } |
| 203 | |
| 204 | fn min(&self) -> (Option<&T>, Option<&U>) { |
| 205 | // 最小值一定在最左侧 |
no test coverage detected