首页 > 其他 > 详细

广度优先遍历二叉树

时间:2014-05-25 18:25:29      阅读:373      评论:0      收藏:0      [点我收藏+]



// //广度优先遍历二叉树
// //从一个顶点开始,识别所有可到达顶点
// //的方法叫作广(宽)度优先搜索,这种
// //搜索可使用队列来实现

 typedef struct binarytree
 {
  EleType data;
  struct binarytree *LeftChild;
  struct binarytree *RightChild;
 }Tree; 
// 
 class Node
 {
  Tree t;
  Node next;
 };
// 
 class Queue
 {
  Node head;
  Node tail;
 public:
  void enque(Tree t)
  {
   Node n;
   n.t = t;
   if (!tail)
   {
    tail = head = n;
   }
   else
   {
    tail.next = n;
    tail = n;
   }
  }
  Tree deque()
  {
   if (!head)
   {
    return NULL;
   }
   else
   {
    Node n = head;
    head =  head.next;
    return n.t;
   }
  }
 };
// 
 void BST(Tree t)
 {
  Queue q;
  q.enque(t);
  Tree t = q.deque();
  while (t)
  {
   printf(t.data);
   if(t.LeftChild)
    q.enque(t.LeftChild);
   if(t.RightChild)
    q.enque(t.RightChild);
   t = q.deque();
  }
 }


广度优先遍历二叉树,布布扣,bubuko.com

广度优先遍历二叉树

原文:http://blog.csdn.net/fayery/article/details/26818539

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!