标题:求高手帮我解释一程序
只看楼主
xy2bl
Rank: 1
等 级:新手上路
帖 子:61
专家分:2
注 册:2010-12-2
结帖率:100%
已结贴  问题点数:10 回复次数:2 
求高手帮我解释一程序
void LevelOrder(BTNode *bt) /*层次遍历二叉树bt*/   
    { BTNode* queue[MAXSIZE];
      int front,rear;
      if (bt==NULL) return;
      front=0;      /*非循环队列*/
      rear=0;
      queue[rear++]=bt;
      while(front!=rear)
          {printf("%c",queue[front]->cdata);        /*访问队首结点的数据域*/
             if (queue[front]->lchild!=NULL)   /*将队首结点的左孩子指针入队列*/
             {  queue[rear]=queue[front]->lchild;rear++;
             }
            if (queue[front]->rchild!=NULL)   /*将队首结点的右孩子指针入队列*/
            {  queue[rear]=queue[front]->rchild; rear++;
         }
谁能帮我解释一下什么意思
尤其是这部分if (queue[front]->lchild!=NULL)   /*将队首结点的左孩子指针入队列*/
             {  queue[rear]=queue[front]->lchild;rear++;
             }
            if (queue[front]->rchild!=NULL)   /*将队首结点的右孩子指针入队列*/
            {  queue[rear]=queue[front]->rchild; rear++;
         }
搜索更多相关主题的帖子: 解释 
2010-12-03 13:16
chenhaiquanw
Rank: 2
等 级:论坛游民
帖 子:9
专家分:70
注 册:2010-11-28
得分:10 
void LevelOrder(BTNode *bt) /*层次遍历二叉树bt*/   
{
    BTNode* queue[MAXSIZE];
      int front, rear;
      if (bt == NULL)
          return;
      front = 0;      /*非循环队列*/
      rear = 0;
      queue[rear++] = bt;
      while (front != rear)
          {
             printf("%c", queue[front]->cdata);        /*访问队首结点的数据域*/
             if (queue[front]->lchild != NULL)   /*将队首结点的左孩子指针入队列*/
             {
                 queue[rear] = queue[front]->lchild;
                 rear++;
             }
            if (queue[front]->rchild != NULL)   /*将队首结点的右孩子指针入队列*/
            {
                queue[rear] = queue[front]->rchild;
                rear++;
         }
/*如下的树在输出1节点的同时要把1的左右孩子的节点分别放到队列尾部,当然在输出1的同时,还要把1出队列,队列最初存的就是1节点,所以经过第一次循环后1出列23入队列,然后同样的2输出,45入队列2出对列(345),然后输出3 ,67入队列,3出队列(4567)然后就一直输出…最后结果就是1234567...注意编程格式哦*/
   1
 2   3
4  56  7

2010-12-04 08:00
xy2bl
Rank: 1
等 级:新手上路
帖 子:61
专家分:2
注 册:2010-12-2
得分:0 
谢谢
2010-12-05 12:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-327773-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.940190 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved