自定义函数.pptVIP

  • 42
  • 0
  • 约1.26万字
  • 约 92页
  • 2017-09-25 发布于北京
  • 举报
* 例4-19:汉诺塔问题 有三根针A ,B,C。A针上有n个盘子,盘子大小不等,大的在下,小的在上,如图示。要求把这n个盘子从A针移到C针,在移动过程中可以借助B针,每次只允许移动一个盘子,且在移动过程中在三根针上都保持大盘在下,小盘在上。 A B C 将n个盘子从A针移到C针可以分解为下面三个步骤: 1)将A上n-1个盘子移到B针上(借助C针); 2)把A针上剩下的一个盘子移到C针上; 3)将n-1个盘子从B针移到C针上(借助A针); * * 递归并不节省存储器的开销,因为递归调用过程中必须在某个地方维护一个存储处理值的栈。 递归的执行速度并不快,但递归代码比较紧凑,并且比相应的非递归代码更易于编写与理解。 在描述树等递归定义的数据结构时,使用递归尤其方便。 * 4.6 局部变量和全局变量 一、局部变量 在函数内部定义的变量,仅在该函数内有效。 不同函数中可以使用相同名字的变量,互不干扰。 局部变量在定义时没有明确的初始化值。 在函数开始运行时,局部变量在栈区中被分配空间,函数退出时,局部变量随之消失。 形式参数也是局部变量。 例: void main( ) void func( ) { {

文档评论(0)

1亿VIP精品文档

相关文档