Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,885 questions

51,811 answers

573 users

How to implement a simple binary tree in C++

1 Answer

0 votes
#include <iostream>

struct Node {
    int data;
    Node* left;
    Node* right;

    Node(int value) {
        data = value;
        left = right = nullptr;
    }
};

class BinaryTree {
public:
    Node* root;

    BinaryTree() {
        root = nullptr;
    }

    void Insert(int value) {
        root = insertValue(root, value);
    }

    void Print() {
        printNodes(root);
    }

private:
    Node* insertValue(Node* node, int value) {
        if (node == nullptr) {
            return new Node(value);
        }

        if (value < node->data) {
            node->left = insertValue(node->left, value);
        } else if (value > node->data) {
            node->right = insertValue(node->right, value);
        }

        return node;
    }

    void printNodes(Node* node) {
        if (node != nullptr) {
            printNodes(node->left);
            std::cout << node->data << " ";
            printNodes(node->right);
        }
    }
};

int main() {
    
    BinaryTree btree;
    
    btree.Insert(70);
    btree.Insert(30);
    btree.Insert(20);
    btree.Insert(40);
    btree.Insert(60);
    btree.Insert(80);
    btree.Insert(90);
    btree.Insert(10);

    std::cout << "Tree values: ";
    
    btree.Print();
}

  
  
/*
run:
     
Tree values: 10 20 30 40 60 70 80 90 
              
*/

 



answered Dec 4, 2024 by avibootz

Related questions

1 answer 120 views
1 answer 152 views
1 answer 118 views
1 answer 108 views
108 views asked Jun 14, 2023 by avibootz
1 answer 153 views
1 answer 151 views
2 answers 217 views
...