新子节点作为根节点的右子节点
(&mut self, key: T)
| 36 | |
| 37 | // 新子节点作为根节点的右子节点 |
| 38 | fn insert_right_tree(&mut self, key: T) { |
| 39 | if self.right.is_none() { |
| 40 | let node = BinaryTree::new(key); |
| 41 | self.right = Some(Box::new(node)); |
| 42 | } else { |
| 43 | let mut node = BinaryTree::new(key); |
| 44 | node.right = self.right.take(); |
| 45 | self.right = Some(Box::new(node)); |
| 46 | } |
| 47 | } |
| 48 | |
| 49 | // 获取左右子节点及根节点,注意使用了 clone |
| 50 | fn get_left(&self) -> Link<T> { |