如何制作递归单链表(C++)
How to make recursive singly linked list (C++)
我的书让我做一个单向链表的递归定义。我完全不知道该怎么做。有人可以帮我拿个样品吗?谢谢
它就像一个普通的链表,除了迭代是通过递归而不是循环执行的。
首先,简单阅读:What is recursion and when should I use it?
例如,查找最后一个节点的基于循环的函数可以是:
Node * getLast(Node * current)
{
while (current->next == null)
{ // loop until no more nodes
current = current.next;
}
return current; // return last node
}
而递归版本只检查当前节点是否是最后一个节点,如果有下一个节点则调用自身。
Node * getLast(Node * current)
{
if (current->next == null)
{ // found last node. return it
return current;
}
else
{ // see if next node is last node
return getLast(current->next);
}
}
我的书让我做一个单向链表的递归定义。我完全不知道该怎么做。有人可以帮我拿个样品吗?谢谢
它就像一个普通的链表,除了迭代是通过递归而不是循环执行的。
首先,简单阅读:What is recursion and when should I use it?
例如,查找最后一个节点的基于循环的函数可以是:
Node * getLast(Node * current)
{
while (current->next == null)
{ // loop until no more nodes
current = current.next;
}
return current; // return last node
}
而递归版本只检查当前节点是否是最后一个节点,如果有下一个节点则调用自身。
Node * getLast(Node * current)
{
if (current->next == null)
{ // found last node. return it
return current;
}
else
{ // see if next node is last node
return getLast(current->next);
}
}