汉罗塔
图3.1 递归函数
3.3.2 功能实现代码
汉诺塔演示程序设计主要是利用递归调用函数实现。函数调用
hanoi( one,two,three,n,num)表示将n个盘块从A座移到C座的过程,函数调用move(one,three,num)是将1个盘块从A座移到C座的过程。其具体代码实现如下: if(n==1)
move(one,three,num);/*如果盘子为1,将这个盘子从塔座A移动到塔座C*/ else {
hanoi(one,three,two,n-1,num);/*将塔座A的前n-1个盘子移到塔座B*/ move(one,three,num);/*将塔座A的第n个盘子移到塔座C*/
hanoi(two,one,three,n-1,num); /*将塔座B的n-1个盘子移到塔座C*/ }