それ自体を呼び出す関数は再帰関数と呼ばれます。 そして、この手法は再帰として知られています。
再帰はどのように機能しますか?
void recurse(){ ... .. ... recurse(); ... .. ...}int main(){ ... .. ... recurse(); ... .. ...}
再帰は、それを防ぐために何らかの条件が満たされるまで続きます。
無限再帰を防ぐために、もし。..else文(または似たアプローチを)書くことができない場所にある子どもがいるということは、再帰呼び出し、他には来ない。,
例:再帰を使用した自然数の合計
出力
Enter a positive integer:3sum = 6
最初に、sum()
は、引数として数値を渡したmain()
関数から呼び出されます。
たとえば、sum()
内のnの値が最初は3であるとします。 次の関数呼び出し中に、2がsum()
関数に渡されます。 このプロセスはnが0に等しくなるまで続きます。,
nが0に等しい場合、if
条件は失敗し、else
部分が実行され、整数の合計が最終的にmain()
関数に返されます。
再帰の長所と短所
再帰はプログラムをエレガントにします。 しかし、あくまで非常に重要であり、これはループを使う代わりにして再帰通常はるかに遅くなります。
言われていることは、再帰は重要な概念です。 データ構造やアルゴリズムで頻繁に使用されます。, たとえば、ツリートラバーサルなどの問題で再帰を使用するのが一般的です。