我正在检查一个包含100,000个整数的数组以查看它们是否已排序,但我一直收到堆栈溢出错误。我已经在1000和10,000大小的数组上运行了这个代码,但是当我在100,000上尝试它时,我得到错误,通常是在索引84353附近。数组是否要检查? 要求该方法是递归的。
static boolean flgIsSorted(int[] arr)
{
boolean bool = true;
int index = arr[0];
int[] newArr = new int[arr.length-1];
if(newArr.length > 0)
{
for(int i = 1; i < newArr.length+1; i++)
{
newArr[i-1] = arr[i];
}
for(int i = 0; i < newArr.length; i++)
{
if(index <= newArr[i])
{
bool = true;
}
else
{
bool = false;
return bool;
}
}
//prints what arr will be created next
System.out.println(arr.length-1);
flgIsSorted(newArr);
}
else { }
if(bool == false)
return bool;
return bool;
}