数据结构中递归调用过程

 

//数据结构中递归  akm(m,n) m==0时,akm(m,n)=n+1;n==0时akm(m,n)=akm(m-1,1);m!=0,n!=0时akm(m,n)=akm(m,n-1)

/*    VC 6.0中的单步调试命令是编程中非常有用的一种操作,它可以帮助我们快速定位错误,并对程序进行深入分析。

下面就对实际操作中常用的一些快捷键进行简单讲解。
    在被调试函数中按F9设断点,按F5进入调试,然后再按F10或F11单步调试。而F10和F11的区别就在于:F10是单步调试命令,
但不进入一个函数;F11是调试时跟踪进入函数里的一个命令。当你要进入的这个函数是API函数时,因为有的API函数没有提供源代码,
只提供了lib库,所以你要进入这个函数内部时,先会提醒你给出源代码的路径,你没有给出,所以就只能显示这个函数的汇编指令了
(lib的反汇编)。 调试时F11只是给你需要进入自己写的函数时用到的命令,遇到API函数时就不要用F11了,用F10就可以了。
*/
 
 
#include<stdio.h>
int count=1;
int akm(int m,int n)
{
int g,f;
printf("/takm(%d,%d)",m,n);
if(count++%3==0) printf("/n");
if(m==0)
{
printf("/takm(%d,%d)=%d",0,n,n+1);
if(count++%3==0) printf("/n");
return(n+1);
}
else if(n==0)
{
f=akm(m-1,1);
printf("/takm(%d,%d)=%d",m-1,1,f);
if(count++%3==0)printf("/n");
return(f);
}
else 
{
g=akm(m,n-1);
f=akm(m-1,g);
printf("/takm(%d,%d)=%d",m-1,g,f);
        if(count++%3==0) printf("/n");
return(f);
}
}
void main()
{
int m=2,n=1;
printf("求akm(%d,%d)的过程如下:/n",m,n);
printf("/takm(%d,%d)=%d/n",m,n,akm(2,1));
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值