#ifndef _binnode_hpp_
#define _binnode_hpp_
#include <iostream>
#include <string>
#define binNodeArray(T) binNode<T> *
template <class T>
class binNode
{
public:
T data;
std::string pos;
binNode *parent;
binNode *lc;
binNode *rc;
~binNode()
if(isLC(this))
parent->lc = NULL;
else
parent->rc = NULL;
delete lc;
delete rc;
}
binNode()
parent = NULL;
lc = NULL;
rc = NULL;
binNode(binNode *p, binNode *l, binNode *r)
parent = p;
lc = l;
rc = r;
bool operator>(binNode const &bn)
return data > bn.data;
bool operator<(binNode const &bn)
return data < bn.data;
bool operator==(binNode const &bn)
return data == bn.data;
};
#endif