C:AVL树搜索方法的某个值

时间:2016-06-13 23:13:31

标签: c data-structures tree avl-tree

我正在尝试编写一个在特定值之后在AVL树中搜索的函数,并返回包含搜索值的节点数。

这是我的结构:

struct building{
int id;
char* streetName;
int streetNumber; };

这是我的搜索功能:

void searchAfterStreetName(node* root, char* searchedStreet){
int counter = 0;
if (root){
    if (strcmp(searchedStreet, root->info->streetName) < 0){
        return searchAfterStreetName(root->left, searchedStreet);
    }
    else if (strcmp(searchedStreet, root->info->streetName) > 0){
        return searchAfterStreetName(root->right, searchedStreet);
    }
    else{
        if (strcmp(searchedStreet, root->info->streetName) == 0){
                counter = counter + 1;
                printf("%d\n", counter);
            }

        }
      }
else{
    printf("Not found");
}

}

基本上,我想做的是在街道名称之后在AVL树中执行搜索,并且每次搜索的值包含在节点中时我将增加计数器的值并在结束时打印出总值在控制台上搜索。  搜索功能很有效,直到我添加计数器。它进入无限循环。请帮忙!!!

0 个答案:

没有答案