Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public T predecessor(T x) {
- BSTNode<T> pre = predecessor(x, root, null);
- if (pre == null) {
- System.out.println("Elemento " + x + " no encontrado");
- return null;
- }
- else
- return pre.nodeValue;
- }
- private BSTNode<T> predecessor(T x, BSTNode<T> curr, BSTNode<T> ascLeft) {
- if (curr == null) return null;
- int resC = ((Comparable)curr.nodeValue).compareTo((Comparable)x);
- if (resC == 0) {
- if (curr.left != null) return findMax(curr.left);
- else return ascLeft;
- } else if (resC < 0) return predecessor(x, curr.right, curr);
- else return predecessor(x, curr.left, ascLeft);
- }
Add Comment
Please, Sign In to add comment