采用递归方法求数组A【0… n-1】中的最小值
假设f(A,i)求数组元素A【0…i】(i+1)个元素之间的最小值。当i=0的时候很容易看出来最小值就是A【0】,即f(A,i)=A【0】;假设f(A,i-1)已经求出来,那么只需要和A【i】比较大小,将较小的返回就行。f(A,i)=min(f(A,i-1),A[i]);
double MIn(double A[],int i)
{ double min;
if(i==0)
return A[0];
else
{
min=MIn(A,i-1);
if(min>A[i]) return A[i];
else return min;
}
}
这篇博客介绍了如何通过递归方式找到数组中最小值的算法。从基本情况开始,当数组只有一个元素时,最小值即为该元素。对于更复杂的数组,通过比较当前元素与之前子数组的最小值来确定新的最小值。在`MIn`函数中,首先检查i是否为0,若是则直接返回A[0];否则,递归调用`MIn`并比较当前元素A[i]与子数组的最小值,返回较小的一个。
531

被折叠的 条评论
为什么被折叠?



