This repository has been archived on 2024-01-06. You can view files and clone it, but cannot push or open issues or pull requests.
justhomework/ex10/binnode.hpp
2021-12-03 17:46:47 +08:00

53 lines
No EOL
874 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()
{
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