二叉树的层序遍历(pta)

这里以pta的二叉树的遍历操作为基准梳理

void LevelorderTraversal( BinTree BT )
{
   if(Bt==NULL)//判断是否为空
  {
    return;
  }
 
 BinTree q[100];//创建一个指针队列
 
 BinTree node=NULL;//创建一个临时存放二叉树节点的指针
 
 int front=0;//头
 int rear=0;//尾
  
 q[rear++]=BT;//根节点入队
  
 while(front<rear)//队列不空即循环
 {
  
  node=q[front++];//出队

  printf(" %c",node>data);

  if(node->Left!=NULL)
   {
   q[rear++]=node->Left;//左孩子入队
   }
   
  if(node>Right!=NULL)
  {
   q[rear++]=node->Right;//右孩子入队
  }

}


}

可能还有点缺陷,数组的大小不好控制,要是采用链式队列稍微复杂些,操作多一些。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值