That is just one example of recursion. Consider something like this:
void foo(bar) {
if (x)
foo(baz1);
else
foo(baz2);
}
Or multiple recursive calls for each recursion (e.g. quicksort and mergesort).
But, as I explained cross-thread, relying on a stack to do your recursion doesn't change the fact that it is recursive (since you are still solving sub-problems and combining them to solve the larger problem).
BTW, what is "begin recursion"? The obvious definition would be that the recursive call is the very first line of the function, but that doesn't make a lot of sense, since you would never terminate. |