#include<iostream> #include<vector> using namespace std; //和链表的数据结构一样 struct TreeNode{ int value; TreeNode* left; TreeNode* right; TreeNode(int x):value(x),left(NULL),right(NULL){} }; bool BST_search(TreeNode* node, int val){ if(node->value == val){ return true; } if(node->value > val){ if(node->left == NULL){ return false; }else{ BST_search(node->left, val); } }else{ if(node->right == NULL){ return false; }else{ BST_search(node->right, val); } } } int main(){ TreeNode a(8); TreeNode b(3); TreeNode c(10); TreeNode d(1); TreeNode e(6); TreeNode f(15); a.left =&b; a.right = &c; b.left = &d; b.right = &e; c.right = &f; for(int i = 0; i< 18; i++){ if(BST_search(&a, i)){ cout<<i<<"is in the BST"<<endl; }else{ cout<<i<<"is not in the BST"<<endl; } } return 0; }二叉树的创建也可以通过类似于链表的方式创建,只是节点的链接关系不同
判断一个数是否在二叉树中,如果存在返回真
猜你喜欢
转载自blog.csdn.net/liu_fei_er/article/details/80228055
今日推荐
周排行