c++中二叉树实现方法

c++中二叉树实现方法

ID:17918228

大小:55.00 KB

页数:10页

时间:2018-09-09

c++中二叉树实现方法_第1页
c++中二叉树实现方法_第2页
c++中二叉树实现方法_第3页
c++中二叉树实现方法_第4页
c++中二叉树实现方法_第5页
资源描述:

《c++中二叉树实现方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、[cpp] viewplain copy1.#ifndef _BINARYTREE_H_  2.#define _BINARYTREE_H_  3.  4.const int MaxSize = 100;  5.  6.template  7.struct BTNode  8.{  9.    T data;  10.    BTNode *lchild;  11.    BTNode *rchild;  12.};  13.  14.template  

2、15.class BinaryTree  16.{  17.public:  18.    BinaryTree();                   //构造函数  19.    ~BinaryTree();                  //析构函数  20.    void PreOrder(){PreOrder(r);}   //递归前序遍历  21.    void InOrder(){InOrder(r);}     //递归中序遍历  22.    void PostOrder()

3、{PostOrder1(r);} //递归后序遍历  23.    void PreOrder1(){PreOrder1(r);}   //非递归前序遍历  24.    void InOrder1(){InOrder1(r);}     //非递归中序遍历  25.    void PostOrder1(){PostOrder(r);} //非递归后序遍历  26.    void LevelOrder(){LevelOrder(r);}//层序遍历  27.    BTNode* FindNo

4、de(T x){FindNode(r,x);}//查找结点  28.    int BTNodeHeigth(){BTNodeHeigth(r);}//树的高度  29.    int NodeCount1(){NodeCount1(r);}    //基于前序遍历求结点个数  30.    int NodeCount2(){NodeCount2(r);}    //基于中序遍历求结点个数  31.    int NodeCount3(){NodeCount3(r);}    //基于后序遍历求结点个数

5、  32.    int NodeCount4(){NodeCount4(r);}    //递归求结点个数  33.    void DispLeaf(){DispLeaf(r);}       //输出树的叶子结点  34.    void printRouteLength(){printLeavesDepth(r, 0);}//输出树的叶子结点到根结点的路径长度  35.    bool printAncestor(T x){printAncestor(r,x);}    //输出值为x的结点的祖

6、先结点  36.private:  37.    BTNode *r;  38.    BTNode* CreateTree(BTNode *t);//构造函数调用  39.    void DestroyTree(BTNode *t);     //析构函数调用  40.    void PreOrder(BTNode *t);        //递归前序遍历调用  41.    void InOrder(BTNode *t);         //递归中序遍历调用

7、  1.    void PostOrder(BTNode *t);       //递归后序遍历调用  2.    void PreOrder1(BTNode *t);        //非递归前序遍历调用  3.    void InOrder1(BTNode *t);         //非递归中序遍历调用  4.    void PostOrder1(BTNode *t);       //非递归后序遍历调用  5.    void LevelOrder(BTNode

8、> *t);       //层序遍历调用  6.    BTNode* FindNode(BTNode *t, T x);  7.    int BTNodeHeigth(BTNode *t);  8.    int NodeCount1(BTNode *t);       //前序遍历求结点个数调用  9.    int NodeCount2(BTNode *t);       //中序遍历求结点个数调用 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。