a
サイズの整数配列が与えられた場合n
、プロトタイプを使用して末尾再帰関数を記述します
int f(int a[], int n);
配列の最小要素を見つけます。
これは私が思いついた最高のものです:
int f(int a[], int n)
{
static int *min;
if (min == 0)
min = new int(a[n - 1]);
else if (*min > a[n - 1])
*min = a[n - 1];
if (n == 1)
return *min;
else
return f(a, n - 1);
}
それは良くなることができますか?静的変数の使用は好きではありません。