Implementation of Binary Search Trees
Creation and insertion.
//============================================================================
// Name : BinarySearchTree.cpp
// Author : Angel Arturo Ramirez Suarez
// Version :
// Copyright :
// Description : Binary Search Tree Implementation.
//============================================================================
#include <iostream>
using namespace std;
struct BstNode {
int value;
BstNode *left;
BstNode *right;
};
BstNode *insert(BstNode *root, int data);
BstNode *getNewNode(int data);
int main() {
cout << "" << endl; // prints
BstNode *root = NULL;
root = insert(root, 10);
root = insert(root, 15);
root = insert(root, 25);
return 0;
}
BstNode *insert(BstNode *root, int data){
//If node is empty.
if(root == NULL){
//Create new node and insert data.
root = getNewNode(data);
}
else if(data <= root->value){
root->left = insert(root->left, data);
}
else{
root->right = insert(root->right, data);
}
return root;
}
BstNode *getNewNode(int data){
BstNode *newNode = new BstNode();
newNode->value = data;
newNode->left = newNode->right = NULL;
return newNode;
}
// Name : BinarySearchTree.cpp
// Author : Angel Arturo Ramirez Suarez
// Version :
// Copyright :
// Description : Binary Search Tree Implementation.
//============================================================================
#include <iostream>
using namespace std;
struct BstNode {
int value;
BstNode *left;
BstNode *right;
};
BstNode *insert(BstNode *root, int data);
BstNode *getNewNode(int data);
int main() {
cout << "" << endl; // prints
BstNode *root = NULL;
root = insert(root, 10);
root = insert(root, 15);
root = insert(root, 25);
return 0;
}
BstNode *insert(BstNode *root, int data){
//If node is empty.
if(root == NULL){
//Create new node and insert data.
root = getNewNode(data);
}
else if(data <= root->value){
root->left = insert(root->left, data);
}
else{
root->right = insert(root->right, data);
}
return root;
}
BstNode *getNewNode(int data){
BstNode *newNode = new BstNode();
newNode->value = data;
newNode->left = newNode->right = NULL;
return newNode;
}