private Urun delete(Urun root, String urunAdi) { if (root == null) { return(null); } //int cmp = urunAdi.compareTo(root.getUrunAdi()); int cmp = string.Compare(urunAdi, root.getUrunAdi()); if (cmp < 0) { root.setLeft(delete(root.getLeft(), urunAdi)); } else if (cmp > 0) { root.setRight(delete(root.getRight(), urunAdi)); } else { if (root.getRight() == null) { return(root.getLeft()); } if (root.getLeft() == null) { return(root.getRight()); } Urun t = root; root = min(root.getRight()); root.setRight(deleteMin(t.getRight())); root.setLeft(t.getLeft()); } root.setN(size(root.getLeft()) + size(root.getRight()) + 1); return(root); }
private Urun deleteMax(Urun silinecekUrun) { if (silinecekUrun.getRight() == null) { return(silinecekUrun.getLeft()); } silinecekUrun.setRight(deleteMax(silinecekUrun.getRight())); silinecekUrun.setN(size(silinecekUrun.getLeft()) + size(silinecekUrun.getRight()) + 1); return(silinecekUrun); }
private Urun min(Urun x) { if (x.getLeft() == null) { return(x); } else { return(min(x.getLeft())); } }
private Urun put(Urun root, Urun eklenecekUrun) { if (root == null) { return(eklenecekUrun); } //int cmp = eklenecekUrun.getUrunAdi().compareTo(root.getUrunAdi()); int cmp = string.Compare(eklenecekUrun.getUrunAdi(), root.getUrunAdi()); if (cmp < 0) { root.setLeft(put(root.getLeft(), eklenecekUrun)); } else if (cmp > 0) { root.setRight(put(root.getRight(), eklenecekUrun)); } else { root = eklenecekUrun; } root.setN(1 + size(root.getLeft()) + size(root.getRight())); return(root); }
private Urun get(Urun x, String urunAdi) { if (x == null) { return(null); } //int cmp = urunAdi.compareTo(x.getUrunAdi()); int cmp = String.Compare(urunAdi, x.getUrunAdi()); if (cmp < 0) { return(get(x.getLeft(), urunAdi)); } else if (cmp > 0) { return(get(x.getRight(), urunAdi)); } else { return(x); } }