帮我看看这段代码吧,为什么一用模版就出错?

palm_civet palm_civet 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我用的是VC 6.0

template <class Type>
class BinTreeNode
{
friend class BinaryTree<Type>;

private:
BinTreeNode<Type> *leftChild,*rightChild;
Type data;
public:
BinTreeNode() {
leftChild=0;
rightChild=0;
}
BinTreeNode(Tpye d,BinTreeNode<Type> *left,BinTreeNode<Type> *right) {
data=d;
leftChild=left;
rightChild=right;
}
Type &GetData() {return data;}
BinTreeNode<Type> *GetleftChild() {return leftChild;}
BinTreeNode<Type> *GetrightChild() {return rightChild;}
void SetData(Type d){data=d;}
void SetLeftChild(BinTreeNode<Type> *L) {left=L;}
void SetRightChild(BinTreeNode<Type> *R) {right=R;}
};

template <class Type>
class BinaryTree
{

private:
BinTreeNode<Type> *root;

private:
BinTreeNode<Type> *Parent(BinTreeNode<Type> *r,BinTreeNode<Type> *p){
BinTreeNode<Type> *q;
if(r==0) return 0;
if(r->GetleftChild()==p||r->GetrightChild()==p) return r;
if(q=Parent(r->GetleftChild(),p)!=0) return q;
else return Parent(r->GetrightChild(),p);
}
void destory(BinTreeNode<Type> *p) {
if(p!=0) {
destory(p->GetleftChild());
destory(p->GetrightChild());
delete p;
}
}
void PreOrder(BinTreeNode<Type> *r) {
if(r!=0) {
cout <<r->GetData() <<" ";
PreOrder(r->GetleftChild());
PreOrder(r->GetrightChild());
}
}
void InOrder(BinTreeNode<Type> *r) {
if(r!=0) {
InOrder(r->GetleftChild());
cout <<r->GetData() <<" ";
InOrder(r->GetrightChild());
}
}
void PostOrder(BinTreeNode<Type> *r) {
if(r!=0) {
PostOrder(r->GetleftChild());
PostOrder(r->GetrightChild());
cout <<r->GetrightChild()) <<" ";
}
}

public:
BinaryTree():root(0){}
BinaryTree(Type d):root(d){}
virtual ~BinaryTree() {destory(root);}
bool IsEmpty() {root=0?1:0;}
BinTreeNode<Type> *Root() {return root=0?0:root;}
void CreateRoot(Type d) {data=d;}
BinTreeNode<Type> *Parent(BinTreeNode<Type> *p) {return Parent(root,p);}
BinTreeNode<Type> *LeftChild(BinTreeNode<Type> *p) {return p->GetleftChild();}
BinTreeNode<Type> *RightChild(BinTreeNode<Type> *p) {return p->GetrightChild();}

BinTreeNode<Type> *LeftSibling(BinTreeNode<Type> *p) {
BinTreeNode<Type> *q=Parent(root,p);
if(p==q->GetleftChild()||q->GetrightChild()==0) return 0;
else return q->GetleftChild();
}

BinTreeNode<Type> *RightSibling(BinTreeNode<Type> *p) {
BinTreeNode<Type> *q=Parent(root,p);
if(p==q->GetrightChild()||q->GetleftChild()==0) return 0;
else return q->GetrightChild();
}

Type Retrieve(BinTreeNode<Type> *p) {return p->GetData();}
void Assign(BinTreeNode<Type> *p,Type d) {p->SetData(d);}

void InsertLeftChild(BinTreeNode<Type> *p,Type d) {
BinTreeNode<Type> *q=new BinTreeNode<Type>(d);
q->SetLeftChild(p->GetleftChild);
p->SetLeftChild(q);
}

void InsertRightChild(BinTreeNode<Type> *p,Type d) {
BinTreeNode<Type> *q=new BinTreeNode<Type>(d);
q->SetrightChild(p->GetrightChild);
p->SetRightChild(q);
}

void DeleteLeftChild(BinTreeNode<Type> *p) {destory(p->GetleftChild());}
void DeleteRightChild(BinTreeNode<Type> *P) {destory(p->GetrightChild());}
void PreOrder() {PreOrder(root);}
void InOrder() {InOrder(root);}
void PostOrder() {PostOrder(root);}
...全文

相关推荐

完全复现虚拟同步发电机VSG自适应惯量阻尼控制仿真、根轨迹、调节系数对比(Simulink仿真、Matlab代码实现)

内容概要:本文详细介绍了名为《【完全复现】虚拟同步发电机VSG自适应惯量阻尼控制仿真、根轨迹、调节系数对比(Simulink仿真、Matlab代码实现)》的技术资源,重点围绕虚拟同步发电机(VSG)的自适应惯量与阻尼控制展开,涵盖系统建模、控制策略设计、根轨迹分析及调节系数对比等内容,通过Simulink仿真与Matlab代码实现,帮助读者深入理解VSG在电力系统中的动态响应特性与控制优化方法;文档还列举了大量相关科研资源,涉及电力系统、智能优化、信号处理、路径规划等多个领域,展示了丰富的仿真案例与算法应用。; 适合人群:具备电力系统、自动控制或相关专业背景,熟悉Matlab/Simulink仿真环境,有一定科研基础的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于学习和复现虚拟同步发电机的自适应控制策略,掌握其在微电网和新能源并网中的应用;②通过根轨迹与参数调节分析,优化控制系统动态性能;③结合提供的代码与模型,开展电力系统稳定性研究、课程设计或科研项目开发。; 阅读建议:建议读者结合文中提到的完整资源目录和网盘资料,下载配套的Matlab代码与Simulink模型进行实践操作,边仿真边理解理论原理,重点关注控制参数对系统稳定性的影响,并可拓展应用于其他电力电子变流器或构网型控制研究。

梦想科研社_研学

政府如何精准评估园区创新能力并制定有效产业政策?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

央企如何借助数据分析提升创新管理体系效能?.docx

央企如何借助数据分析提升创新管理体系效能?

BIZKEEN

MATLAB模拟6自由度无人机检查,具备干扰补偿、裂纹检测和自主复检功能。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

海神之光

政府园区如何通过数据分析提升区域科技决策效率?.docx

政府园区如何通过数据分析提升区域科技决策效率?

BIZKEEN
评论 7
收藏 已收藏
分享
返回顶部
palm_civet
C语言 70,040 成员 243,237 内容