程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 04-01遞歸原理分析_分析方法調用

04-01遞歸原理分析_分析方法調用

編輯:C++入門知識

分析方法調用

請分析如下的遞歸方法調用:

int f(int[] a, int n)
{
if(n==0) return a[0];
return f(a, n-1) + a[n];
}

1. 它實現了什麼功能?

2.int[] a = {1,2,3,4};

int k = f(a,3);

當 n = 0 時,試畫出棧中局部變量的情況。

-------------------------------------------------------------------------------------------------------------------



1. 該方法實現了對數組的前邊n+1個元素求和。


2. 當n=0時,棧中局部變量的情況:


int n = 0
int[] a = 數組地址
int n = 1
int[] a = 數組地址
int n = 2
int[] a = 數組地址
int n = 3
int[] a = 數組地址
int k
int[] a = 數組地址 (這個是主調程序的局部變量,前邊的a是形參變量)
.....
棧底


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved