私はプログラミングがとても新しく、このコードが自らを呼び出すので再帰と見なすことができるかどうかを知りたいと思っています。これが良い習慣であるかどうかも知りたいです。これは再帰と見なされますか?
void editArr(int arr[], int arrSize){
int index;
cout << "Enter INDEX: ";
cin >> index;
if(index >= arrSize){
cout << "INDEX is OUT OF BOUNDS" << endl;
editArr(arr, arrSize);
}
cout << "Enter VALUE: ";
cin >> arr[index];
cout << "\n[1] Continue || [0] Exit";
cin >> choiceExit;
if(choiceExit == 1)
editArr(arr, arrSize);
}
それ自体を呼び出す関数は、再帰の定義です。 –
「良い練習」であるかどうかは、依存しています。この場合、関数は "continue/exit"の選択肢のループの代わりに再帰を使用しているようです。再帰の具体的な例は私が言うことです*悪い*練習です。 –
Wikiquote:コンピュータサイエンスの再帰は、問題の解決策が同じ問題の小規模なインスタンスの解決法に依存する方法です([iteration](https://en.wikipedia.org/wiki/Iteration)とは対照的です)( [src](https://en.wikipedia.org/wiki/Recursion_%28computer_science%29)) – Drop