gpt4 book ai didi

c++ - C++循环链表的递归基本情况

转载 作者:行者123 更新时间:2023-11-27 23:46:17 25 4
gpt4 key购买 nike

这都是假设,

我有这样一个结构:

struct node
{
int data;
node* next;
};

和一个只有头指针的循环链表,我将如何为计算循环列表节点的递归函数设置一个基本情况?我什至不知道从哪里开始,因为我头脑 Storm 的一切,我很快意识到是行不通的,因为列表中的最后一个节点正好指向头部而不是 NULL。

示例函数:

int count(node *head)
{
int listCount = 0;

if(base case)
{
then return 0;
}
else
{
calculate listCount
count(head->next);
}

return listCount
}

最佳答案

可以把循环链表变成线性链表

int wrapper_function(node*head)
{
node*current = head;
head = head -> next;
current -> next = NULL;
count(head);
current -> next = head;
head = current;
return 0;
}


int count(node *head)
{
int count = 0;

if(!head)
{
then return 0;
}
else
{
calculate count
count(head->next);
}

return;
}

关于c++ - C++循环链表的递归基本情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50341133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com