49 lines
776 B
C++
49 lines
776 B
C++
|
#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()
|
||
|
{
|
||
|
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
|