【发布时间】:2018-10-28 17:12:38
【问题描述】:
我的函数使用递归检查数组是否已排序。
不幸的是,它为每个数组返回false。
Function call : sorted(a,0,a.length) where a[] = {1,2,3};
boolean sorted(int[] a , int s , int n)
{
if(s+1==n)
return true ;
if(a[s]<=a[s+1])
sorted(a,s+1,n);
return false ;
}
【问题讨论】:
-
既然可以使用迭代,为什么还要使用递归方法?
-
你的意思是
return sorted(a, s+1, n)?目前,您正在丢弃递归调用的返回值。 -
我知道。我只是在学习递归。这是一个简单的程序,但我坚持使用它。
-
@khelwood 非常感谢。有用。如果条件为真,我会递归调用。如果条件不满足,它应该返回 false。最后,它应该返回 true。
标签: java algorithm sorting recursion