(avl: &AvlTree<T>)
| 441 | } |
| 442 | |
| 443 | fn levelorder<T: Clone + Ord + Debug>(avl: &AvlTree<T>) { |
| 444 | let size = avl.size(); |
| 445 | let mut q = Queue::new(size); |
| 446 | |
| 447 | let _r = q.enqueue(avl); |
| 448 | while !q.is_empty() { |
| 449 | let front = q.dequeue().unwrap(); |
| 450 | match front { |
| 451 | Null => (), |
| 452 | Tree(node) => { |
| 453 | println!("key: {:?}", node.key); |
| 454 | let _r = q.enqueue(&node.left); |
| 455 | let _r = q.enqueue(&node.right); |
| 456 | }, |
| 457 | } |
| 458 | } |
| 459 | } |
| 460 | |
| 461 | fn main() { |
| 462 | basic(); |