// // Created by AK on 25/10/2017. // #ifndef MEM_SAMPLE_BINARYTREE_H #define MEM_SAMPLE_BINARYTREE_H template struct BinaryTreeNode { T* Value; BinaryTreeNode* Left; BinaryTreeNode* Right; }; template void insert(T* value, BinaryTreeNode& node) { if(node.Value == nullptr) { node.Value = value; } else { if(value <= node.Value) { if(node.Left == nullptr) { node.Left = new BinaryTreeNode(); } insert(value, *node.Left); } else { if(node.Right == nullptr) { node.Right = new BinaryTreeNode(); } insert(value, *node.Right); } } } #endif //MEM_SAMPLE_BINARYTREE_H