C++ C++;从树中删除节点的

C++ C++;从树中删除节点的,c++,recursion,C++,Recursion,我需要有关树结构和节点的帮助 template <class T> class tBST { protected: tBSTNode<T>* root; template <class T> class tBSTNode{ protected: T data; tBSTNode<T>* left; t

我需要有关树结构和节点的帮助

template <class T> class tBST {

     protected:
                tBSTNode<T>* root;

template <class  T> class tBSTNode{

     protected:
               T data;
               tBSTNode<T>* left;
               tBSTNode<T>* right;
模板类tBST{
受保护的:
tBSTNode*根;
模板类tBSTNode{
受保护的:
T数据;
tBSTNode*左;
tBSTNode*右;
我想在类tBSTNode上创建一个名为root->Delete(T data);的算法,当您从类tBST从root调用函数时,它会删除我输入的相同输入(T data)

有人能帮我一下吗?我被这件事搞得晕头转向


我用C++ Buueld5/p>< P>做C++,我认为你不理解模板是什么。 指定给模板的类型指定模板的类型

该类型不是模板的成员

给定
tBST
tBST
,它们都不包含int或double,都是新类型

如果您试图实现一个方法来删除T类型中的数据,只需在T上调用delete,那么任何将用作模板类型的类都必须实现delete方法


如果您试图从节点中的分支中删除T,则需要在模板
tBSTnode
中创建析构函数以删除任一子节点。然后在其父节点中将该项设置为null。

对图形的拓扑结构是否有任何约束(例如,您确定它是非循环的)?是否以null结尾?想想看,删除意味着什么?是否要删除该节点?如果是,其子节点应如何连接到树的其余部分?Peter,让我们将其分解。第一步,编写一个助手方法,该方法将搜索树中的特定数据,并返回一个
tBSTNode*
在那之后,你可以专注于删除,好吗?@Peter:你到底为什么要使用11年前发布的编译器?:-/如果我有root-father-son1-son2,如果我删除了'father',我想要的结果树是:root-son1-root-son2