C 计算小于给定值的节点的递归算法

C 计算小于给定值的节点的递归算法,c,recursion,data-structures,linked-list,C,Recursion,Data Structures,Linked List,你好,我正在准备期末考试,所以从上次考试开始,我 因为这个问题得到了部分信任。递归算法,使它 统计给定链表中信息值小于的节点数 超过给定的阈值 我的回答是 int count=0; 整合式(不含);; if(front==NULL) 返回0; 如果(计数下一步,前->信息); 总数小于++; 返回总数_ 恐怕您没有向递归调用发送threshold recCount(front->next, front->info); 我也不知道为什么会出现这种情况 if(count < th

你好,我正在准备期末考试,所以从上次考试开始,我 因为这个问题得到了部分信任。递归算法,使它 统计给定链表中信息值小于的节点数 超过给定的阈值

我的回答是

int count=0;
整合式(不含);;
if(front==NULL)
返回0;
如果(计数<阈值)
计数=1+recCount(前->下一步,前->信息);
总数小于++;
返回总数_

恐怕您没有向递归调用发送
threshold

recCount(front->next, front->info);
我也不知道为什么会出现这种情况

if(count < threshold)  //as count is initialized to 0.
if(count
递归的示例:

 int recCount(LLNode *front, int threshold)
 {
    int count = 0;

    if(front == NULL)
    return 0 ;

    if (front->info < threshold)
    count++;

    count = count + recCount(front->next, threshold);

    return count;
 }
int recCount(LLNode*front,int阈值)
{
整数计数=0;
if(front==NULL)
返回0;
如果(前->信息<阈值)
计数++;
计数=计数+重新计数(前->下一步,阈值);
返回计数;
}
较短版本:

如果值较小,则将+1添加到结果并检查列表中的下一个节点,否则只检查下一个节点而不添加到计数

int recCount(struct NODE *N, int value)
{
    if(N == NULL)
        return 0;

    if(N->data < value)
        return 1 + recCount(N->next, value);

    return recCount(N->next, value);
}
int recCount(结构节点*N,int值)
{
如果(N==NULL)
返回0;
如果(N->数据<值)
返回1+recCount(N->next,value);
返回recCount(N->next,value);
}
示例代码:

获得结果后,是否运行程序并尝试调试?
 int recCount(LLNode *front, int threshold)
 {
    int count = 0;

    if(front == NULL)
    return 0 ;

    if (front->info < threshold)
    count++;

    count = count + recCount(front->next, threshold);

    return count;
 }
int recCount(struct NODE *N, int value)
{
    if(N == NULL)
        return 0;

    if(N->data < value)
        return 1 + recCount(N->next, value);

    return recCount(N->next, value);
}