資料結構——遞迴學習
阿新 • • 發佈:2019-02-12
對比了兩種實現斐波那契的程式碼,迭代和遞迴的區別是:迭代使用的是迴圈結構,遞迴使用的是選擇結構。使用遞迴能使程式的結構更清晰、更簡潔、更容易讓人理解,從而減少讀懂程式碼的時間。
迭代
int main()
{
int i;
int arr[40];
arr[0]=0;
arr[1]=1;
printf("%d\n",arr[0] );
printf("%d\n",arr[1] );
for(i=2;i<40;i++)
{
arr[i]=arr[i-1]+arr[i-2];
printf("%d\n",arr[i] );
}
return 0;
}
3、利用遞迴方法實現字元逆序列印遞迴 int fib(int i) { if(i<2) return i == 0 ? 0 : 1 return Fib(i-1) + Fib(i-2); }
編寫一個遞迴函式,實現將輸入的任意長度的字串反向輸出的功能。
例如輸入字串abcd則輸出字串dcba。
void print()
{
char a;
scanf(“%c”, &a);
if( a !=‘#’)
print();
if( a !=‘#’)
printf(“%c”, a);
}
四、總結
關於遞迴切記要含有結束條件,還有就是遞迴函式呼叫和函式返回,遞迴的返回順序是它呼叫的順序的逆序;