整数配列 Arr[] を入力として受け取ります。目標は、再帰的メソッドを使用して配列内の最大要素と最小要素を見つけることです。
再帰を使用しているため、長さ = 1 に達するまで配列全体を反復処理し、基本ケースを形成する A[0] を返します。それ以外の場合、現在の要素は現在の最小値または最大値と比較され、その値は後続の要素に対して再帰的に更新されます。
Input - Arr= {12,67,99,76,32};
# のさまざまな入出力シナリオを見てみましょう。##出力 - 配列内の最大値: 99
説明 - すべての要素のうち、99 が最大値です。
入力 - Arr= {1,0,-99,9,3};
出力 - 配列内の最小値: - 99
説明 -すべての要素の中で、-99が最小値です。
次のプログラムで使用されるメソッドは次のとおりです。最小値の検索#include <iostream> using namespace std; int recforMin(int arr[], int len){ int minimum; if (len == 1){ minimum=arr[0]; return minimum; } else{ return minimum=arr[len]<recforMin(arr,len-1)?arr[len]:recforMin(arr,len-1); } } int main(){ int Arr[] = {-89,98,76,32,21,35,100}; int length = sizeof(Arr)/sizeof(Arr[0]); cout <<"Minimum in the array :"<<recforMin(Arr, length); return 0; }
Minimum in the array :-89
再帰を使用して最小値を見つける
#include <iostream> using namespace std; int recforMax(int arr[], int len){ int maximum; if (len == 1){ maximum=arr[0]; return maximum; } else{ return maximum=arr[len]>recforMax(arr,len-1)?arr[len]:recforMax(arr,len-1); } } int main(){ int Arr[] = {-89,98,76,32,21,35,100}; int length = sizeof(Arr)/sizeof(Arr[0]); cout <<"Maximum in the array :"<<recforMax(Arr, length); return 0; }
以上がC++ で配列の最小要素と最大要素を見つける再帰的プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。