栈和队列C答题.pptVIP

  • 5
  • 0
  • 约 13页
  • 2016-11-23 发布于湖北
  • 举报
第三章 栈和队列 3.3 栈与递归 例如:给出如下程序 void first(int s,int t); void second(int d); void main( ){ int m,n; … first(m,n); 1: … } 3.3 栈与递归 递归执行的过程: 递归的其他方面: 3.3 栈与递归 * 3.3 栈与递归 当一个函数调用另一个函数时,在调用之前系统要做3件事: 1.将所有的实在参数、返回地址等信息传递给被调用函数保存; 2.为被调用函数的局部变量分配存储空间;(入栈) 3.将控制转移到被调用函数的入口。 1.保存被调用函数的计算结果; 2.释放被调用函数的数据区;(出栈) 3.依照被调用函数保存的地址将控制转移到调用函数。 返回时,系统要做3件事: int first(int s,int t){ int i; … second(i); 2: … } int second(int d){ int x,y; … } 什么是递归(复习) 递归定义:简单地说,一个用自己定义自己的概念,称为递归定义。或者说调用函数和被调用函数是同一个函数。 例 n!= 1* 2* 3* 4 * (n-1)* n n!递归定义

文档评论(0)

1亿VIP精品文档

相关文档