16 lines
500 B
C++
16 lines
500 B
C++
#pragma once
|
|
enum Color { RED, BLACK };
|
|
|
|
template <class T>
|
|
class TreeNode {
|
|
public:
|
|
T element;
|
|
TreeNode<T>* left;
|
|
TreeNode<T>* right;
|
|
TreeNode<T>* parent;
|
|
Color color;
|
|
|
|
TreeNode() : left(nullptr), right(nullptr), parent(nullptr), color(Color::RED) {}
|
|
TreeNode(const T& e) : element(e), left(nullptr), right(nullptr), parent(nullptr), color(Color::RED) {}
|
|
TreeNode(const T& e, TreeNode<T>* l, TreeNode<T>* r, TreeNode<T>* p) : element(e), left(l), right(r), parent(p), color(Color::RED) {}
|
|
}; |