online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <iostream> template <class T> class BinaryTree { private: struct Node { T data; Node* left; Node* right; Node(const T& d, Node* l = nullptr, Node* r = nullptr) : data(d), left(l), right(r) {} }; Node* root; void insertHelper(const T& data, Node* &node) { if (!node) { node = new Node(data); } else if (data < node->data) { insertHelper(data, node->left); } else { insertHelper(data, node->right); } } void inorderHelper(Node* node) { if (node) { inorderHelper(node->left); std::cout << node->data << " "; inorderHelper(node->right); } } public: BinaryTree() : root(nullptr) {} void insert(const T& data) { insertHelper(data, root); } void inorder() { inorderHelper(root); std::cout << std::endl; } }; int main() { BinaryTree<int> tree; tree.insert(5); tree.insert(3); tree.insert(7); tree.insert(1); tree.insert(4); tree.insert(6); tree.insert(8); std::cout << "Inorder traversal of binary tree: "; tree.inorder(); BinaryTree<std::string> strTree; strTree.insert("apple"); strTree.insert("banana"); strTree.insert("cherry"); strTree.insert("date"); std::cout << "Inorder traversal of binary tree: "; strTree.inorder(); return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue