[英]Recursive overflow
我有一個在我的代碼上出現堆棧溢出錯誤的問題。 我試圖在一個數組中找到一個數字,但是我必須在一個遞歸函數中這樣做,並給出該錯誤。
public static int linear(int[] array, int num, int indice) {
if (indice < array.length-1) {
if (array[indice] == num) {
return indice;
} else {
ocurrencias++;
linear(array, num, indice + 1);
}
}
return -1;
}
如果您能幫助我,我將不勝感激。 對不起,我的英語有點生銹。
在遞歸調用linear之前,您錯過了回報,是嗎?
return linear(array, num, indice + 1);
但是,我不認為Java會進行尾遞歸優化( 什么是尾遞歸? ),因此您必須為大型數組適當增加堆棧大小;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.