标签: recursion
大家好,我有一个关于两个递归实际上如何在这段特定代码中起作用的问题
void inOrder(struct node* r) { if(r!=NULL){ inOrder(r->left); // a printf("%d ", r->value); // b inOrder(r->right); // c }
}
所以a,c函数将以哪种顺序执行
谢谢
答案 0 :(得分:2)
你可能指的是递归的调用树,这里有一个可以直观解释它的小gif:
我制作了GIF,但作品不是我的,我从这个演示文稿中取出了作品www.cc.gatech.edu/~bleahy/cs1311/cs1311lecture12wdl.ppt
www.cc.gatech.edu/~bleahy/cs1311/cs1311lecture12wdl.ppt
答案 1 :(得分:0)
就像它们不是递归调用一样:(a)先行,然后是printf,然后是(c)。
printf