层次遍历二叉树

来源:互联网 发布:电吉他效果器软件 编辑:程序博客网 时间:2024/06/12 00:49

template <classT>
void BinaryTree<T>::easyOrder(BTNode<T>*tr)
 
 int  front=0,rear=1;
 BTNode<T> *cq[200],*p;      //定义结点的指针数组cq
 cq[1]=tr;
 int NodeNum=Node(tr);
 while(front!=rear)            
 {
  front=(front+1)%NodeNum;//NodeNum为结点总数
  p=cq[front];                        //出队
  cout<<p->element;         //出队,输出结点的值  
  if(p->lChild!=NULL)
  {
   rear=(rear+1)%NodeNum;
   cq[rear]=p->lChild;          //左子树入队
  }
  if(p->rChild!=NULL)
  {
   rear=(rear+1)%NodeNum;
   cq[rear]=p->rChild;          //右子树入队
  }
 }

}


0 0
原创粉丝点击