Red-Black-Tree

This commit is contained in:
e2hang
2025-08-25 16:26:11 +08:00
parent 03d0c1b039
commit 74b56aa55c
4 changed files with 670 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
#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) {}
};