public int DugumSayisi(IkiliAramaAgacDugumu dugum)
        {
            int count = 0;

            if (dugum != null)
            {
                count  = 1;
                count += DugumSayisi(dugum.sol);
                count += DugumSayisi(dugum.sag);
            }
            return(count);
        }
        public int YaprakSayisi(IkiliAramaAgacDugumu dugum)
        {
            int count = 0;

            if (dugum != null)
            {
                if ((dugum.sol == null) && (dugum.sag == null))
                {
                    count = 1;
                }
                else
                {
                    count = count + YaprakSayisi(dugum.sol) + YaprakSayisi(dugum.sag);
                }
            }
            return(count);
        }
        void musteriYorumListele()
        {
            musteriYorumListView.Items.Clear();

            IkiliAramaAgacDugumu  dugum        = aramaAgac.Ara(Convert.ToInt32(musteriListView.SelectedItems[0].SubItems[0].Text));
            List <List <string> > yorumListesi = new List <List <string> >();

            yorumListesi = dugum.veri.musteriYorumlari.DisplayElements();
            for (int i = 0; i < yorumListesi.Count; i++)
            {
                List <string> yorum = new List <string>();
                yorum = yorumListesi[i];
                ListViewItem item = new ListViewItem(yorum[0]);
                item.SubItems.Add(yorum[1]);
                item.SubItems.Add(yorum[2]);
                musteriYorumListView.Items.Add(item);
            }
        }
        private IkiliAramaAgacDugumu Successor(IkiliAramaAgacDugumu silDugum)
        {
            IkiliAramaAgacDugumu successorParent = silDugum;
            IkiliAramaAgacDugumu successor       = silDugum;
            IkiliAramaAgacDugumu current         = silDugum.sag;

            while (current != null)
            {
                successorParent = successor;
                successor       = current;
                current         = current.sol;
            }
            if (successor != silDugum.sag)
            {
                successorParent.sol = successor.sag;
                successor.sag       = silDugum.sag;
            }
            return(successor);
        }
 void musteriPanelHazirla()
 {
     musteriListView.Items.Clear();
     for (int i = 0; i < idler.Count; i++)
     {
         IkiliAramaAgacDugumu dugum = aramaAgac.Ara(Convert.ToInt32(idler[i]));
         ListViewItem         item  = new ListViewItem(dugum.veri.id.ToString());
         item.SubItems.Add(dugum.veri.adi.ToString());
         item.SubItems.Add(dugum.veri.telefon.ToString());
         item.SubItems.Add(dugum.veri.mail.ToString());
         item.SubItems.Add(dugum.veri.yildizsayi.ToString());
         item.SubItems.Add(dugum.veri.odasayi.ToString());
         item.SubItems.Add(dugum.veri.puan.ToString());
         item.SubItems.Add(dugum.veri.adres.ToString());
         item.SubItems.Add(dugum.veri.sehir.ToString());
         item.SubItems.Add(dugum.veri.ilce.ToString());
         musteriListView.Items.Add(item);
     }
 }
        private void Button7_Click(object sender, EventArgs e)
        {
            if (aramaAgac == null)
            {
                MessageBox.Show("Öncelikle ağacı oluşturmalısınız!");
                return;
            }

            IkiliAramaAgacDugumu dugum = aramaAgac.Ara(Convert.ToInt32(girisMailTxt.Text));

            if (dugum != null)
            {
                MessageBox.Show(dugum.veri.adi + " düğümü bulundu.");
            }
            else
            {
                MessageBox.Show(girisMailTxt.Text + " düğümü bulunamadı....");
            }
        }
        public string  Ekle(Otel deger)
        {
            //Yeni eklenecek düğümün parent'ı
            IkiliAramaAgacDugumu tempParent = new IkiliAramaAgacDugumu();
            //Kökten başla ve ilerle
            IkiliAramaAgacDugumu tempSearch = kok;

            while (tempSearch != null)
            {
                tempParent = tempSearch;
                //Deger zaten var, çık.
                if (deger.id == tempSearch.veri.id)
                {
                    return("");
                }
                else if (deger.id < tempSearch.veri.id)
                {
                    tempSearch = tempSearch.sol;
                }
                else
                {
                    tempSearch = tempSearch.sag;
                }
            }

            IkiliAramaAgacDugumu eklenecek = new IkiliAramaAgacDugumu(deger);

            //Ağaç boş, köke ekle
            if (kok == null)
            {
                kok = eklenecek;
            }
            else if (deger.id < (int)tempParent.veri.id)
            {
                tempParent.sol = eklenecek;
            }
            else
            {
                tempParent.sag = eklenecek;
            }
            return(dugumler = eklenecek.veri.id + "");
        }
 private IkiliAramaAgacDugumu AraInt(IkiliAramaAgacDugumu dugum,
                                     int anahtar)
 {
     if (dugum == null)
     {
         return(null);
     }
     else if (dugum.veri.id == anahtar)
     {
         return(dugum);
     }
     else if (dugum.veri.id > anahtar)
     {
         return(AraInt(dugum.sol, anahtar));
     }
     else
     {
         return(AraInt(dugum.sag, anahtar));
     }
 }
        void otelPersonelListele()
        {
            musteriYorumListView.Items.Clear();

            IkiliAramaAgacDugumu  dugum           = aramaAgac.Ara(Convert.ToInt32(idOtel[personelListeOtel.SelectedIndex]));
            List <List <string> > personelListesi = new List <List <string> >();

            personelListesi = dugum.veri.personeller.DisplayElements();
            for (int i = 0; i < personelListesi.Count; i++)
            {
                List <string> yorum = new List <string>();
                yorum = personelListesi[i];
                ListViewItem item = new ListViewItem(yorum[0]);
                item.SubItems.Add(yorum[1]);
                item.SubItems.Add(yorum[2]);
                item.SubItems.Add(yorum[3]);
                item.SubItems.Add(yorum[4]);
                item.SubItems.Add(yorum[5]);
                item.SubItems.Add(yorum[6]);
                item.SubItems.Add(yorum[7]);
                otelPersonelListView.Items.Add(item);
            }
        }
        public bool Sil(int deger)
        {
            IkiliAramaAgacDugumu current = kok;
            IkiliAramaAgacDugumu parent  = kok;
            bool issol = true;

            //DÜĞÜMÜ BUL
            while (current.veri.id != deger)
            {
                parent = current;
                if (deger < current.veri.id)
                {
                    issol   = true;
                    current = current.sol;
                }
                else
                {
                    issol   = false;
                    current = current.sag;
                }
                if (current == null)
                {
                    return(false);
                }
            }
            //DURUM 1: YAPRAK DÜĞÜM
            if (current.sol == null && current.sag == null)
            {
                if (current == kok)
                {
                    kok = null;
                }
                else if (issol)
                {
                    parent.sol = null;
                }
                else
                {
                    parent.sag = null;
                }
            }
            //DURUM 2: TEK ÇOCUKLU DÜĞÜM
            else if (current.sag == null)
            {
                if (current == kok)
                {
                    kok = current.sol;
                }
                else if (issol)
                {
                    parent.sol = current.sol;
                }
                else
                {
                    parent.sag = current.sol;
                }
            }
            else if (current.sol == null)
            {
                if (current == kok)
                {
                    kok = current.sag;
                }
                else if (issol)
                {
                    parent.sol = current.sag;
                }
                else
                {
                    parent.sag = current.sag;
                }
            }
            //DURUM 3: İKİ ÇOCUKLU DÜĞÜM
            else
            {
                IkiliAramaAgacDugumu successor = Successor(current);
                if (current == kok)
                {
                    kok = successor;
                }
                else if (issol)
                {
                    parent.sol = successor;
                }
                else
                {
                    parent.sag = successor;
                }
                successor.sol = current.sol;
            }
            return(true);
        }
 public IkiliAramaAgaci(IkiliAramaAgacDugumu kok)
 {
     this.kok = kok;
 }
 private void Ziyaret(IkiliAramaAgacDugumu dugum)
 {
     dugumler += dugum.veri + " ";
 }
 public IkiliAramaAgacDugumu(Otel veri)
 {
     this.veri = veri;
     sol       = null;
     sag       = null;
 }