加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

二叉树-C++ | 递归实现二叉树(插入、搜索)

发布时间:2020-12-15 04:52:19 所属栏目:百科 来源:网络整理
导读:递归实现二叉树(插入、搜索) // Binary Search Tree - Implemenation in C++ // Simple program to create a BST of integers and search an element in it #include using namespace std; //Definition of Node for Binary search tree struct BstNode {

递归实现二叉树(插入、搜索)

// Binary Search Tree - Implemenation in C++

// Simple program to create a BST of integers and search an element in it

#include

using namespace std;

//Definition of Node for Binary search tree

struct BstNode {

int data;

BstNode* left;

BstNode* right;

};

// Function to create a new Node in heap

BstNode* GetNewNode(int data) {

BstNode* newNode = new BstNode();

newNode->data = data;

newNode->left = newNode->right = NULL;

return newNode;

}

// To insert data in BST,returns address of root node

BstNode* Insert(BstNode* root,int data) {

if(root == NULL) { // empty tree

root = GetNewNode(data);

}

// if data to be inserted is lesser,insert in left subtree.

else if(data <= root->data) {

root->left = Insert(root->left,data);

}

// else,insert in right subtree.

else {

root->right = Insert(root->right,data);

}

return root;

}

//To search an element in BST,returns true if element is found

bool Search(BstNode* root,int data) {

if(root == NULL) {

return false;

}

else if(root->data == data) {

return true;

}

else if(data <= root->data) {

return Search(root->left,data);

}

else {

return Search(root->right,data);

}

}

int main() {

BstNode* root = NULL; // Creating an empty tree

/*Code to test the logic*/

root = Insert(root,15);

root = Insert(root,10);

root = Insert(root,20);

root = Insert(root,25);

root = Insert(root,8);

root = Insert(root,12);

// Ask user to enter a number.

int number;

cout<<"Enter number be searchedn";

cin>>number;

//If number is found,print "FOUND"

if(Search(root,number) == true) cout<<"Foundn";

else cout<<"Not Foundn";

}

编程中最没用的东西是源代码,最有用的东西是算法和数据结构。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读