求单链表的长度的递归算法(C语言格式)
发布网友
发布时间:2022-05-25 10:17
我来回答
共4个回答
热心网友
时间:2023-10-08 21:06
求单链表的长度函数名为linklistlength
单链表用结构体linklist表示
int linklistlength(linklist *head)
{
if(!head) return 0;
return linklistlength(linklist *head->next)+1;
}
热心网友
时间:2023-10-08 21:06
是函数调用栈存储的指针。每次递归调用,函数帧栈里面都存放了指针。
上面函数递归调用的最后一次,l为null,之后函数调用栈依次弹出,获得前面的地址值。
即push到最后,全pop出来。
热心网友
时间:2023-10-08 21:07
用count函数就可以了:(其中结构名为s,只向下一个成员的指针变量为shead)
int count(s*shead)
{
if(!shead->next) return 1;
return coutn(shead->next)+1;
}
热心网友
时间:2023-10-08 21:07
int count(link*head)
{
if (head)return(1+count(head->next));
return 0;
}
我这个最简单^_^