예제 #1
0
        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);
        }
예제 #2
0
 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);
 }
예제 #3
0
 private Urun min(Urun x)
 {
     if (x.getLeft() == null)
     {
         return(x);
     }
     else
     {
         return(min(x.getLeft()));
     }
 }
예제 #4
0
        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);
        }
예제 #5
0
        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);
            }
        }