实验5 树宽度 层次遍历

实验5 树宽度 层次遍历

ID:20466798

大小:37.50 KB

页数:11页

时间:2018-10-13

实验5  树宽度  层次遍历_第1页
实验5  树宽度  层次遍历_第2页
实验5  树宽度  层次遍历_第3页
实验5  树宽度  层次遍历_第4页
实验5  树宽度  层次遍历_第5页
资源描述:

《实验5 树宽度 层次遍历》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验5树的宽度层次遍历#includeusingnamespacestd;#defineN20//自定义类型enumStatusCode{SUCCESS,FAIL,UNDER_FLOW,OVER_FLOW,RANGE_ERROR,DUPLICATE_ERROR,NOT_PRESENT,ENTRY_INSERTED,ENTRY_FOUND,VISITED,UNVISITED};//二叉树结点类templatestructBinTreeNode{//数据成员:ElemTypedata;//数据域BinTreeNode*le

2、ftChild;//左孩子指针域BinTreeNode*rightChild;//右孩子指针域//构造函数:BinTreeNode();//无参数的构造函数BinTreeNode(constElemType&val,//已知数据元素值,指向左右孩子的指针构造一个结点BinTreeNode*lChild=NULL,BinTreeNode*rChild=NULL);};//二叉树结点类的实现部分templateBinTreeNode::BinTreeNode()//操作结果:构造一个

3、叶结点{leftChild=rightChild=NULL;//叶结点左右孩子为空}templateBinTreeNode::BinTreeNode(constElemType&val,BinTreeNode*lChild,BinTreeNode*rChild)//操作结果:构造一个数据域为val,左孩子为lChild,右孩子为rChild的结点{data=val;//数据元素值leftChild=lChild;//左孩子rightChild=rChild;//右孩子}//二叉树类template<

4、classElemType>classBinaryTree{protected://二叉树的数据成员:BinTreeNode*root;//辅助函数:BinTreeNode*CopyTreeHelp(BinTreeNode*copy);//复制二叉树voidDestroyHelp(BinTreeNode*&r);//销毁以r为根二叉树intWidthHelp(constBinTreeNode*r)const;BinTreeNode*ParentHelp(BinTreeN

5、ode*r,constBinTreeNode*cur)const;//返回cur的双亲public://二叉树方法声明及重载编译系统默认方法声明:BinaryTree();//无参数的构造函数virtual~BinaryTree();//析构函数BinTreeNode*GetRoot()const;//返回二叉树的根boolEmpty()const;//判断二叉树是否为空intWidth()const;BinaryTree(constElemType&e);//建立以e为根的二叉树BinaryTree(constBinaryTr

6、ee©);//复制构造函数BinaryTree(BinTreeNode*r);//建立以r为根的二叉树BinaryTree&operator=(constBinaryTree©);//赋值运算符重载};templatevoidCreateBinaryTreeHelp(BinTreeNode*&r,ElemTypepre[],ElemTypein[],intpreLeft,intpreRight,intinLeft,intinRight);//已

7、知二叉树的先序序列pre[preLeft..preRight]和中序序列in[inLeft..inRight]构造以r为根的//二叉树templateBinaryTree&CreateBinaryTree(ElemTypepre[],ElemTypein[],intn);//已知先序和中序序列构造二叉树//二叉树类的实现部分templateBinaryT

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

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

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