Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import BST.MyIterator;
- public class Set<T extends Comparable<T>> implements Iterable<T>, Comparable <Set<T>>{
- private BST<T> set;
- private Node<T> root;
- public Set(){
- set = new BST<T>();
- }
- public Set(T[] setElements){
- //if set elements ==null throw illegal argument exception
- set = new BST<T>();
- for(T element : setElements ){
- set.insert(element);
- }
- root=set.getRoot();
- }
- boolean isEmpty() {
- return root==null;
- }
- public boolean delete(T target){
- return delete(target,root, null);
- }
- private boolean delete(T target, Node<T> p, Node<T> parent){
- if (p == null){
- return false;
- }
- int comp = target.compareTo(p.data);
- if (comp ==0) {
- Node<T> left=p.left;
- Node<T> right=p.right;
- if(p==parent.getLeft()){
- if(p.getLeft()!=null){
- parent.setLeft(p.getLeft());
- left.setLeft(p.getRight());
- }
- }
- else{ //assume getRight
- }
- else if (comp< 0) {
- return delete(target, p.getLeft(),p);
- }
- else {
- return delete(target, p.getRight(),p );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement