计算机小混子 2022-10-15 23:26 采纳率: 100%
浏览 4
已结题

为什么二叉树的几种遍历函数要这样声明,直接在把下面private:里面的函数放在public中,不就行了,为什么要多此一举多递归一次呢?难道只是为了调用的时候不传参?

为什么二叉树的几种遍历函数要这样声明,直接在把下面private:里面的函数放在public中,不就行了,为什么要多此一举多递归一次呢?难道只是为了调用的时候不传参?


template<class T>
class BiTree {
public:
    BiTree();
    ~BiTree();
    BiNode<T> *GetRoot(){return root;}//取根指针
    void PutRoot(BiNode<T> *r){root =  r;}//置根指针
    void PreOrder(){PreOrder(root);}//先序遍历二叉树
    void InOrder(){InOrder(root);}//后续遍历二叉树
    void PostIorder(){PostIorder(root);}//后序遍历二叉树
    void LevelOrder(){LevelOrder(root);}//层序遍历二叉树
private:
    BiTree *root;
    BiTree *Creat();
    void Release(BiTree<T> *root);
    void PreOrder(BiNode<T> *root);//先序遍历二叉树
    void InOrder(BiNode<T> *root);//中序遍历二叉树
    void PostIorder(BiNode<T> *root);//后序遍历二叉树
    void LevelOrder(BiNode<T> *root);//层序遍历二叉树
};

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月23日
    • 创建了问题 10月15日