diff --git a/include/RedBlackTree.h b/include/RedBlackTree.h index 714a13b..12d8e80 100644 --- a/include/RedBlackTree.h +++ b/include/RedBlackTree.h @@ -130,20 +130,20 @@ namespace ling { /// 查找元素 /// 区别于findSearch,此方法会在没有匹配时返回接近的节点 - Node *iterativeSearch(T key); + Node *iterativeSearch(T key) const; - Node *findSearch(T key); + Node *findSearch(T key) const; /// 根节点 - Node *getRoot() { + Node *getRoot() const { return rootNode; } // 查找最小结点:返回tree为根结点的红黑树的最小结点。 - Node *minimum(); + Node *minimum() const; // 查找最大结点:返回tree为根结点的红黑树的最大结点。 - Node *maximum(); + Node *maximum() const; #define rb_parent(r) ((r)->parent) #define rb_color(r) ((r)->color) @@ -157,7 +157,7 @@ namespace ling { }; template - typename RedBlackTree::Node *RedBlackTree::maximum() { + typename RedBlackTree::Node *RedBlackTree::maximum() const { Node *tree = rootNode; if (tree == nullptr) return nullptr; @@ -168,7 +168,7 @@ namespace ling { } template - typename RedBlackTree::Node *RedBlackTree::minimum() { + typename RedBlackTree::Node *RedBlackTree::minimum() const { Node *tree = rootNode; if (tree == nullptr) return nullptr; @@ -366,12 +366,12 @@ namespace ling { } template - typename RedBlackTree::Node *RedBlackTree::findSearch(T key) { + typename RedBlackTree::Node *RedBlackTree::findSearch(T key) const { return findSearch(rootNode, key); } template - typename RedBlackTree::Node *RedBlackTree::iterativeSearch(T key) { + typename RedBlackTree::Node *RedBlackTree::iterativeSearch(T key) const { return iterativeSearch(rootNode, key); }