日复一日

厚积薄发|跳跃的人生

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  25 随笔 :: 2 文章 :: 6 评论 :: 0 Trackbacks
广度优先遍历二叉树。

 1void BST(Tree t) {
 2  Queue q = new Queue();
 3  q.enque(t);
 4  Tree t = q.deque();  
 5  while(t) {
 6    System.out.println(t.value);
 7    q.enque(t.left);
 8    q.enque(t.right);
 9    t = q.deque();
10  }

11}
 1class Node {
 2  Tree t;
 3  Node next;
 4}

 5class Queue {
 6  Node head;
 7  Node tail;
 8  public void enque(Tree t){
 9    Node n = new Node();
10    n.t = t;
11    if(!tail){
12      tail = head = n;
13    }
 else {
14    tail.next = n;
15    tail = n;
16    }

17  }

18  public Tree deque() {
19    if (!head) {
20        return null;
21    }
 else {
22    Node n = head;
23    head = head.next;
24   return n.t;
25    }

26}
posted on 2006-06-16 20:24 GwQ 阅读(178) 评论(0)  编辑 收藏 引用 所属分类: 微软面试技术题
只有注册用户登录后才能发表评论。