RJo*_*nes 0 c recursion binary-tree
int postOrder(struct node* root, char organ[], char bt[], int* val){
if(root != NULL) {
postOrder(root->left, organ, bt, val);
postOrder(root->right, organ, bt, val);
if(strcmp(root->organ.organname, organ) == 0){
if(strcmp(root->organ.bloodtype, bt) == 0){
if(val == 0){
printf("%s\n", root->organ.name);
val = 1;
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正试图在第一次打印后立即终止此递归功能.我的想法最初是传入十进制指针'val'并在我想终止函数时将其设置为1.思考过程是它会改变函数之外的值,所以以前的所有调用都会有更新的指针,但我不认为它在这个设置中是如何工作的.
此函数通过二叉树搜索Post Orderly.
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |