广度优先遍历二叉树




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

 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();
  }
 }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值