求一般树的遍历算法。递归?

解决方案 »

  1.   

    (1)Status BOT( BiTree T, Status(* Visit)(TElemType e))
         {//后序遍历
           //Visit 是一种遍历操作。
            tl=T->lchild;tr=T->rchild;
            if(T)
              {
                if(BOT(tl,Visit))
                  if(BOT(tr,Visit)) 
                    if(Visit(T->data))   
                       return OK;
                 return OK;
              }
               else
                 return OK;
      

  2.   

    // 以下是先序遍历遍历树(NODE *Root)
    {
        if (Root == NULL)
            return;
     
        // 对改节点作你向要做的事情,比如打印数值。然后
        for (取得第一个孩子的节点; 当前节点的孩子没有遍历;取得下一个孩子的节点)
        {
              // 假设取得的孩子节点保存在指针 pSon 中
             遍历树(pSon);
        }
     
        return;
    }
      

  3.   

    for 循环的条件写错了,应该是“当前节点的所有孩子没有遍历完”