Advertisement
Guest User

Untitled

a guest
Mar 28th, 2015
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. import BST.MyIterator;
  4. public class Set<T extends Comparable<T>> implements Iterable<T>, Comparable <Set<T>>{
  5. private BST<T> set;
  6. private Node<T> root;
  7. public Set(){
  8. set = new BST<T>();
  9. }
  10. public Set(T[] setElements){
  11. //if set elements ==null throw illegal argument exception
  12. set = new BST<T>();
  13. for(T element : setElements ){
  14. set.insert(element);
  15. }
  16.  
  17. root=set.getRoot();
  18.  
  19. }
  20. boolean isEmpty() {
  21. return root==null;
  22. }
  23. public boolean delete(T target){
  24. return delete(target,root, null);
  25.  
  26. }
  27. private boolean delete(T target, Node<T> p, Node<T> parent){
  28. if (p == null){
  29. return false;
  30. }
  31. int comp = target.compareTo(p.data);
  32. if (comp ==0) {
  33. Node<T> left=p.left;
  34. Node<T> right=p.right;
  35. if(p==parent.getLeft()){
  36. if(p.getLeft()!=null){
  37. parent.setLeft(p.getLeft());
  38. left.setLeft(p.getRight());
  39. }
  40. }
  41.  
  42.  
  43. else{ //assume getRight
  44.  
  45. }
  46.  
  47. else if (comp< 0) {
  48. return delete(target, p.getLeft(),p);
  49.  
  50. }
  51. else {
  52. return delete(target, p.getRight(),p );
  53. }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement