-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRBNode.cpp
More file actions
61 lines (50 loc) · 1.24 KB
/
RBNode.cpp
File metadata and controls
61 lines (50 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// CSCI2720
// Project 2
// Author: Justin Rector
// RBNode.cpp
#include "RBNode.h"
#include <string>
//Sets up a node with both its key and parent, left child and right child
//remain unknown at this time
RBNode::RBNode(int newKey, RBNode * newParent) {
key = newKey;
parent = newParent;
leftChild = nullptr;
rightChild = nullptr;
}
//Assigns a node a parent
void RBNode::setParent(RBNode * newParent) {
parent = newParent;
}
//Assigns a node a left child
void RBNode::setLeftChild(RBNode * newLeftChild) {
leftChild = newLeftChild;
}
//Assigns a node a right child
void RBNode::setRightChild(RBNode * newRightChild) {
rightChild = newRightChild;
}
//Sets the node's color as a boolean. True = Red. False = Black.
void RBNode::setColor(bool newColor) {
color = newColor;
}
//Returns the node's key
int RBNode::getKey() const {
return key;
}
//Returns the node's color
bool RBNode::getColor() const {
return color;
}
//Returns a pointer to the node's parent
RBNode * RBNode::getParent() {
return parent;
}
//Returns a pointer to the node's left child
RBNode * RBNode::getLeftChild() {
return leftChild;
}
//Returns a pointer to the node's right child
RBNode * RBNode::getRightChild() {
return rightChild;
}