- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二叉树及其上基本操作
#includeiostream
#includestdlib.h
#define N 10;
template class T
struct BinTreeNode{ //二叉树结点类定义
T data;
BinTreeNodeT *left,*right;
BinTreeNode():leftChild(NULL),rightChild(NULL){}
BinTreeNode(T x,BinTreeNodeT *l=NULL,BinTreeNodeT *r=NULL)
:data(x),left(l),right(r){}
};
template class T
class BinTree{
public:
BinTree():root(NULL){}
BinTree(T value=0):RefValue(value),root(NULL){}
BinTree(BinTreeT s);
~BinTree(){Destroy(root);}
BinTreeNodeT Getroot()const{return root;} //取根
bool Isempty(){return (root==NULL)?true:false;}
BinTreeNodeT * Parent(BinTreeNodeT *current); //寻找父结点
BinTreeNodeT *LeftChild(BinTreeNodeT *current) //寻找左右子结点
{return (current!=NULL)?current-left:NULL;}
BinTreeNodeT *RightChild(BinTreeNodeT *current)
{return (current!=NULL)?current-right:NULL;}
BinTreeNodeT *Setleft(BinTreeNodeT *current){left=current;}//设置左右子结点
BinTreeNodeT *Setright(BinTreeNodeT *current){right=current;}
BinTreeNodeT *Create(); //创建树
void Preorder(BinTreeNodeT *t); //先根遍历
void Inorder(BinTreeNodeT *t); //中根遍历
void Postorder(BinTreeNodeT *t); //后根遍历
bool Find(T x); //查找符合数据域条件的结点
void Destroy(BinTreeNodeT subtree); //删除子树
void Del(BinTreeNodeT *p);
void out(BinTreeNodeT *t); //以表格形式输出二叉树
private:
BinTreeNodeT *root;
T RefValue;
};
template class T
BinTreeNodeT *BinTreeT::Parent(BinTreeNodeT *current) //父结点
{
if(current==NULL||Isempty()) return NULL;
if(root-left==current||root-right==current) return root;
BinTreeNodeT *q;
q=Parent(root-left);
if(q!=NULL) return q;
return q=Parent(root-right);
}
template class T
bool BinTreeT::Find(BinTreeNodeT *t,T x) //符合数据域条件的结点
{
if(Isempty()) return false;
if(t-data==x) return true;
BinTreeNodeT *q;
q=Find(t-left,x);
if(q!=NULL) return q;
return q=Find(t-right,x);
}
tem
您可能关注的文档
- 烟花燃放方案.ppt
- 创意DV大赛策划书.doc
- 第三章中值定理及导数的应用习题答案.doc
- 刘校长在学校创建“区级文明单位”动员大会上的讲话.doc
- 安全督察自查报告.doc
- 请结合您的教学实际.doc
- 国培探究型教学课件《轴对称图形》.ppt
- 哈夫曼的构建.doc
- 《地球化学》实习三.doc
- XXX社区村务公开民主管理汇报材料.doc
- 2024年头灯资金筹措计划书代可行性研究报告.docx
- 2024年澳代巴豆酸乙酯资金需求报告代可行性研究报告.docx
- 2024年水污染防治设备资金筹措计划书代可行性研究报告.docx
- 2024年纸卷包装输送系统资金申请报告代可行性研究报告.docx
- 2024年湿疹药物资金申请报告代可行性研究报告.docx
- 2024年家用通风电器具资金筹措计划书代可行性研究报告.docx
- 2024年数字模拟混合输出仪表通讯模板资金申请报告代可行性研究报告.docx
- 2024年计算器及货币专用设备资金需求报告代可行性研究报告.docx
- 2024年手工制纸及纸板项目投资申请报告代可行性研究报告.docx
- 2024年抗生素类药物资金筹措计划书代可行性研究报告.docx
最近下载
- 成人癌痛NCCN指南中国版.doc
- 视频监控基础知识.pptx VIP
- 部编版语文六年级下册第五单元大单元作业设计.pdf VIP
- 2023年陕西省中考英语试卷真题(含官方标准答案) +2022年试卷及答案.docx
- 初中通风、消毒制度.doc VIP
- AI-6000一体机自动抗干扰精密介质损耗测量仪说明书详解.doc
- S2-U6-L3蓝晒工艺-阳光的魔法.pptx
- (高清版)DB11 447-2015 炼油与石油化学工业大气污染物排放标准.pdf VIP
- 国家开放大学旅游学院《旅游工作者素质修养》形考任务4(全部章节,权重25%)-null分.doc VIP
- JTG 3370.1-2018 公路隧道设计规范 第一册 土建工程.docx
文档评论(0)