首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二分查找树-添加节点

二分查找树-添加节点
EN

Stack Overflow用户
提问于 2011-05-30 18:10:34
回答 1查看 492关注 0票数 0

我构建了一个函数,该函数需要将一个节点添加到一个二进制搜索树中,该二进制搜索树是按其ID (moviecode = id)排序的,但它不能正常工作。你能帮我找出代码出了什么问题吗?

代码语言:javascript
复制
Node *buildtree(Node *dataTree, char *name, int id, float rating, int numvote) {

    if ((dataTree == NULL)) {

        dataTree= make_node();
        strcpy(dataTree->data.movieName,name);
        dataTree->data.meanRaiting = rating;
        dataTree->data.numOfVoters = numvote;
        dataTree->data.movieCode = id;
        return;

    }

    else if (dataTree->data.movieCode > id) 
        (buildtree (dataTree->left, name, id, rating, numvote));    

    else 
        buildtree (dataTree->right, name, id, rating, numvote);     

    return dataTree;
}
EN

回答 1

Stack Overflow用户

发布于 2011-05-30 20:05:28

乍一看,在我看来,dataTree正在被实例化,但它并没有附加到任何东西上。你应该有一个指向新对象的指针,否则它将在方法的末尾丢失。

大多数人在这种情况下都会传递一个双指针。当您需要修改指针时,只需执行*dataTree = make_node();

这有帮助吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6176747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档