| 关于   «  3. 代码补全练习   ::   目录   ::   5. 中级递归代码补全练习  »

4. 编写更复杂的递归函数

某些递归函数只有一个基本情况和一次递归调用。但通常存在多于一个基本情况或一次递归调用,或者两者皆有。

以下是递归函数的通用结构。

if ( base case 1 ) {
  // return some simple expression
}
else if ( base case 2 ) {
  // return some simple expression
}
else if ( base case 3 ) {
  // return some simple expression
}
else if ( recursive case 1 ) {
  // some work before 
  // recursive call 
  // some work after 
 }
else if ( recursive case 2 ) {
  // some work before 
  // recursive call 
  // some work after 
 }
else { // recursive case 3 
  // some work before 
  // recursive call 
  // some work after 
 }
if ( base case 1 )
  // return some simple expression
else if ( base case 2 )
  // return some simple expression
else if ( base case 3 )
  // return some simple expression
else if ( recursive case 1 ) {
  // some work before 
  // recursive call 
  // some work after 
 }
else if ( recursive case 2 ) {
  // some work before 
  // recursive call 
  // some work after 
 }
else { // recursive case 3 
  // some work before 
  // recursive call 
  // some work after 
 }

   «  3. 代码补全练习   ::   目录   ::   5. 中级递归代码补全练习  »

关闭窗口