什么是递归?什么是迭代?
public int binSearch(int value)
{
int upperBound, lowerBound, mid;
upperBound = arr.Length - 1;
lowerBound = 0;
while (lowerBound <= upperBound)
{
mid = (upperBound + lowerBound) / 2;
if (arr[mid] == value)
return mid;
else
if (value < arr[mid])
upperBound = mid - 1;
else
lowerBound = mid + 1;
}
return -1;
}
这个程序是递归还是迭代?
public int binSearch(int value) { int upperBound, lowerBound, mid; upperBound = arr.Length - 1; lowerBound = 0; while (lowerBound <= upperBound) { mid = (upperBound + lowerBound) / 2; if (arr[mid] == value) return mid; else
return value <arr[mid]? binSearch(mid-1):binSearch(mid+1);
}
return -1;
}
这样才是迭代。。
找找定义:递归就是函数在内部调用自身,你这个是吗?
迭代:关于迭代,http://zh.wikipedia.org/wiki/%E8%BF%AD%E4%BB%A3
你看看你这个属于哪个?
ps:貌似哪个也不属于。。。
通俗的来讲,递归就是方法调用自身。迭代就是循环。