Subversion Repositories Code-Repo

Rev

Rev 96 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
96 Kevin 1
 
2
// Single generic node for the BSTree
3
public class BSTreeNode<K,E> {
4
	private K key;		// Key
5
	private E element;	// Value
6
	private BSTreeNode<K,E> left;	// Left child
7
	private BSTreeNode<K,E> right;	// Right child
8
 
9
	// Empty constructor
10
	public BSTreeNode() {
11
		setLeft(setRight(null));
12
	}
13
 
14
	// Constructor given key value pair
15
	public BSTreeNode(K k, E e) {
16
		setLeft(setRight(null));
17
		setKey(k);
18
		setElement(e);
19
	}
20
 
21
	// Constructor given key value pair and children
22
	public BSTreeNode(K k, E e, BSTreeNode<K,E> left, BSTreeNode<K,E> right) {
23
		setKey(k);
24
		setElement(e);
25
		this.setLeft(left);
26
		this.setRight(right);
27
	}
28
 
29
	// Query if node has leaves
30
	public boolean isLeaf() {
31
		return left == null && right == null;
32
	}
33
 
34
	// Encapsulation methods
35
	public K getKey() {
36
		return key;
37
	}
38
	public void setKey(K key) {
39
		this.key = key;
40
	}
41
	public E getElement() {
42
		return element;
43
	}
44
	public void setElement(E element) {
45
		this.element = element;
46
	}
47
	public BSTreeNode<K,E> getLeft() {
48
		return left;
49
	}
50
	public void setLeft(BSTreeNode<K,E> left) {
51
		this.left = left;
52
	}
53
	public BSTreeNode<K,E> getRight() {
54
		return right;
55
	}
56
	public BSTreeNode<K,E> setRight(BSTreeNode<K,E> right) {
57
		this.right = right;
58
		return right;
59
	}
60
}