Question: Please help me debug this code import java.util.Objects; public class SortedTreeSet implements SortedTreeSetInterface { private Person data; private SortedTreeSet left; private SortedTreeSet right; public SortedTreeSet

Please help me debug this code
import java.util.Objects;
public class SortedTreeSet implements SortedTreeSetInterface {
private Person data;
private SortedTreeSet left;
private SortedTreeSet right;
public SortedTreeSet(){
this.data = null; # Represents an empty tree
}
@Override
public Person getPerson(){
return data;
}
@Override
public boolean hasLeft(){
return left != null;
}
@Override
public void setLeft(SortedTreeSet left){
this.left = left;
}
@Override
public SortedTreeSet getLeft(){
return left;
}
@Override
public boolean hasRight(){
return right != null;
}
@Override
public void setRight(SortedTreeSet right){
this.right = right;
}
@Override
public SortedTreeSet getRight(){
return right;
}
# Add a Person to the tree while keeping it sorted and free of duplicates
@Override
public void add(Person p){
if (data == null){
data = p; # First node added to the tree
return;
}
int compare = p.getName().compareTo(data.getName());
if (compare <0){ # p's name is smaller, go to the left subtree
if (left == null){
left = new SortedTreeSet();
}
left.add(p);
} else if (compare >0){ # p's name is larger, go to the right subtree
if (right == null){
right = new SortedTreeSet();
}
right.add(p);
}
# If compare ==0, it's a duplicate, so we do nothing
}
# Optional: To print the tree's content in sorted order
@Override
public String toString(){
StringBuilder sb = new StringBuilder();
if (left != null) sb.append(left.toString());
if (data != null) sb.append(data).append("
");
if (right != null) sb.append(right.toString());
return sb.toString();
}
}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!