本题要求完成二叉搜索树(Binary Search Tree)查找结点的代码。
已经经过核对
/** 以下是二叉搜索树的结构定义 **/
struct BSTree{
int data; //结点值
struct BSTree* left; //左指针
struct BSTree* right; //右指针
};
/** 以下是须完成的二叉搜索树查找结点的代码
** 该段代码在二叉搜索树中查找data值等于x的结点,并打印出从树根开始的查找路径(结点的值)
** 如果没找到x结点,则最终打印 "Not Found!"
**/
void searchX(struct BSTree *bt, int x){
while(bt != NULL) {
printf("%d\n", bt->data); // 打印查找路径(结点的值)
if(
x < bt->data
){
bt = bt->left
; //注意,这个空的后面有一个分号 ";"
}
else if(
x > bt->data
){
bt = bt->right
; //注意,这个空的后面有一个分号 ";"
}
else{
break;
}
}
if(
bt == NULL
) printf("Not Found!\n");
}
/** 其他代码(例如创建二叉搜索树等)省略 **/