// 2-3 tree node implementation class TTNode,E> { private E lval; // The left record private Key lkey; // The node's left key private E rval; // The right record private Key rkey; // The node's right key private TTNode left; // Pointer to left child private TTNode center; // Pointer to middle child private TTNode right; // Pointer to right child public TTNode() { center = left = right = null; } public TTNode(Key lk, E lv, Key rk, E rv, TTNode p1, TTNode p2, TTNode p3) { lkey = lk; rkey = rk; lval = lv; rval = rv; left = p1; center = p2; right = p3; } public boolean isLeaf() { return left == null; } public TTNode lchild() { return left; } public TTNode rchild() { return right; } public TTNode cchild() { return center; } public Key lkey() { return lkey; } // Left key public E lval() { return lval; } // Left value public Key rkey() { return rkey; } // Right key public E rval() { return rval; } // Right value public void setLeft(Key k, E e) { lkey = k; lval = e; } public void setRight(Key k, E e) { rkey = k; rval = e; } public void setLeftChild(TTNode it) { left = it; } public void setCenterChild(TTNode it) { center = it; } public void setRightChild(TTNode it) { right = it; } }