gpt4 book ai didi

java - 这两种方法一起是一种递归形式吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:07:05 25 4
gpt4 key购买 nike

我有两个方法,第一个方法从 forloop 中调用第二个方法,但第二个方法使用子项 ID 调用第一个方法。这是递归的一种形式吗?虽然相同的方法不会调用自身,但是否存在堆栈溢出的风险或可能与正常递归方法相关的任何其他问题?

void AddItems(int id)
{
var items = GetItems(id);

foreach (var item in items)
{
AddItem(item);
}
}

void AddItem(Item item)
{
DoSomething(item);
AddItems(item.subItemId);
}

编辑:有没有办法使这个迭代?我正在使用 C#。

最佳答案

根据经验,如果它直接或间接地针对相同或不同的数据调用自身,则它递归。

除非它是尾递归的(这不是),否则递归很容易出现堆栈溢出。特别是,与父 ID 相同的 subItemId 会导致循环,从而导致 SO。

关于java - 这两种方法一起是一种递归形式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25418859/

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