计算AVL树中字符的出现次数

时间:2019-05-31 19:47:35

标签: c search avl-tree

我是C语言的新手,我想编写一个函数来接收AV1树的节点(第一个参数)和一个用来搜索树节点的字符(第二个参数)。该函数必须遍历树并返回角色在树中出现的次数。我已经尝试过递归,但是我不正确。现在,我有了这个迭代循环:

int search_initial(node_avl *node, char initial)
{ 
    if(!node)
         return -1;

    int count = 0;
    node_avl* curr=node;
    while(node!=NULL)
{
    if (initial!=node->str[0])
    {
        if (initial>node->str[0])
            node=node->right;
        else
            node=node->left;
    }
    else if (initial==node->str[0])
    {
        count++;
        node=node->left;
    }
}

    return count;
}

输出(从主要功能输出):

以'a'开头的字符串数:5

以'b'开头的字符串数:2

以't'开头的字符串数:3

以'z'开头的字符串数:1

我不知道该怎么做才能解决此问题。如果有人可以帮助我,我会很感激。

0 个答案:

没有答案