码迷,mamicode.com
首页 > 其他好文 > 详细

广度优先遍历二叉树

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

标签:二叉树   遍历   搜索   c++   广度优先   




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

 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

广度优先遍历二叉树

标签:二叉树   遍历   搜索   c++   广度优先   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!