首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

无聊写了个简略的递归

2012-07-22 
无聊写了个简单的递归初学了解递归可以看看C/C++ codevoid dfs(int a[5][5],int i,int j){if(j5 && i5){

无聊写了个简单的递归
初学了解递归可以看看

C/C++ code
void dfs(int a[5][5],int i,int j){    if(j<5 && i<5)    {        static bool b=1;        if(b)        dfs(a,i,j+1);        cout<<a[i][4-j]<<" ";        dfs(a,i+1,j);        b=false;        cout<<endl;        }}void bfs(int a[5][5],int i,int j){    if(j<5 && i<5)    {        static bool b=1;        if(b)        bfs(a,i+1,j);        cout<<a[4-i][j]<<" ";        bfs(a,i,j+1);        b=false;        cout<<endl;        }}int main(){    int a[5][5] ={0};    int s=0;    for(int i=0;i<5;i++)    {        for(int j=0;j<5;j++)            a[i][j] =s++;    }    bfs(a,0,0);        dfs(a,0,0);    return 0;}


[解决办法]
不错!
[解决办法]
“给定一个小点的输入,完整单步跟踪(同时按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史)一遍。”是理解递归函数工作原理的不二法门!
递归函数关注以下几个因素
·退出条件
·参数有哪些
·返回值是什么
·局部变量有哪些
·全局变量有哪些
·何时输出
·会不会导致堆栈溢出

[解决办法]
我顶,不错

热点排行