それは出力に逆行性の配列を来るとき、私はあなたがそのようなスタックの使用のような長さなどの方法、各種のを考え出すことができると確信していますが、今日は、私は、配列の順序と出力を逆に再帰的にすることによって達成されるあなたを持参するつもりです。
- 反転出力:ああ方法[N-1] -a [0]によれば、我々は再帰的に、最終的な出力を行うために、考えることができ、その後、出力次再帰、終了条件がLENである場合に0であります終わり。
- 出力順序:我々はまた、再帰的な実装を使用して、我々を出力することにより、出力シーケンスをもたらし、そして上記のシーケンスが同じではありません最初の再帰的、再帰的なバックトラックすることができます。
今、私は上記の二つのプロセスを表現するための図を使用します。
# include <stdio.h>
# include <stdlib.h>
void reverse(int *a,int len)
{
if(len<=0)
{
return;
}
printf("%d ",a[len-1]);
reverse(a,len-1);
printf("\n");
}
void sequence(int *a,int len)
{
if(len<=0)
{
return;
}
sequence(a,len-1);
printf("%d ",a[len-1]);
}
int main()
{
int a[5]={1,2,3,4,5};
reverse(a,5);
sequence(a,5);
}
さあ!