Рекурсия переднего конца - это когда вы делаете рекурсивный вызов первым в методе, тогда как рекурсия в хвостовом конце - когда вы делаете рекурсивный вызов последним в методе.
Пример рекурсии переднего конца:
void Show(int num) {
if (num > 0) {
Show(num - 1);
}
Console.WriteLine(num);
}
Результат Show(3);
:
0
1
2
3
Пример рекурсии хвостового конца:
void Show(int num) {
Console.WriteLine(num);
if (num > 0) {
Show(num - 1);
}
}
Результат Show(3);
:
3
2
1
0