我是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
我不知道该怎么做才能解决此问题。如果有人可以帮助我,我会很感激。