#ifndef TREENODE_H #define TREENODE_H #include #include #define LEFT 1 #define RIGHT 2 #define UNKNOWN 0 using namespace std; class TreeNode { private: int data; int position; TreeNode *parent; TreeNode *left; TreeNode *right; public: TreeNode(int newdata) { data = newdata; position = UNKNOWN; parent = NULL; left = NULL; right = NULL; } TreeNode(int newdata, TreeNode *newleft, TreeNode *newright) { data = newdata; parent = NULL; left = newleft; right = newright; } int getData() { return data; } void setData(int newdata) { data = newdata; } int getPosition() { return position; } void setPosition(int newposition) { position = newposition; } TreeNode* getParent() { return parent; } void setParent(TreeNode *newparent) { parent = newparent; } TreeNode* getLeft() { return left; } void setLeft(TreeNode *newleft) { left = newleft; } TreeNode* getRight() { return right; } void setRight(TreeNode *newright) { right = newright; } void print() { cout << "Data: " << data << endl; } }; #endif