相关疑难解决方法(0)

模板中的二进制树

所以我想创建一个代码,它创建一个二进制树,保存数据,例如像1,6,2,10,8这样的整数,在pop我得到最大的数字,然后它从树中删除,并且在推送时我可以插入一个新元素.这应该在一个模板中,这样我就可以轻松更改我想要在树中保存的数据类型.现在我得到了树到目前为止,没有模板它工作正常,我可以添加项目,我可以打印它们,但是当我尝试将它放在模板中时,我得到以下错误:使用类模板需要模板参数列表.可能是什么问题呢?也许我做错了.欢迎任何建议.

到目前为止,我得到了以下代码:

#include <iostream>


using namespace std;


template<class T>
class BinaryTree
{
struct Node
    {
        T data;
        Node* lChildptr;
        Node* rChildptr;

        Node(T dataNew)
        {
            data = dataNew;
            lChildptr = NULL;
            rChildptr = NULL;
        }
    };
private:
    Node* root; 

        void Insert(T newData, Node* &theRoot)
        {
            if(theRoot == NULL)
            {
                theRoot = new Node(newData);
                return;
            }

            if(newData < theRoot->data)
                Insert(newData, theRoot->lChildptr);
            else
                Insert(newData, theRoot->rChildptr);;
        }

        void PrintTree(Node* theRoot)
        {
            if(theRoot != NULL)
            {
                PrintTree(theRoot->lChildptr);
                cout<< theRoot->data<<" ";;
                PrintTree(theRoot->rChildptr);
            }
        } …
Run Code Online (Sandbox Code Playgroud)

c++ templates binary-tree

4
推荐指数
1
解决办法
8895
查看次数

标签 统计

binary-tree ×1

c++ ×1

templates ×1