我写了一个递归算法,它读取一个文件并将其中的值放到我班级的正确属性中。关键是,我使用递归方法调用来填充属性,该方法是一个void类型,如果条件在某个时候为真,它会调用自身。程序工作正常,当我用较小的文件测试它时,但是我得到了更大文件的堆栈溢出错误。递归方法调用快速泛滥调用堆栈。
有没有办法从调用堆栈中弹出元素?
答案 0 :(得分:0)
从#call中弹出元素的唯一方法"是从最新的方法调用返回(我认为答案对你没有帮助......)。
因此,您应该重新设计算法以使用较少的递归调用,而是使用迭代。
如果您告诉我们有关您的算法的更多信息并向我们展示您的代码,我们可能会对重新设计算法有所帮助。