예제 #1
0
        private void btnGoster_Click(object sender, EventArgs e)
        {
            if (IsNumeric(txtBasamakSayisi.Text))
            {
                if (Convert.ToInt32(txtBasamakSayisi.Text) == 0)
                {
                    MessageBox.Show("Sıfırdan büyük bir değer giriniz!");
                }
                else
                {
                    IkiliAgacDugumu kok  = new IkiliAgacDugumu(1);
                    IkiliAgac       agac = new IkiliAgac(kok, Convert.ToInt32(txtBasamakSayisi.Text));
                    agac.AgacOlustur();
                    agac.AgaciGez();
                    rtxtElemanlar.Text      = agac.elemanlar;
                    lblElemanSayisi.Text    = agac.elemanSayisi.ToString() + " adet farklı dizilim vardır.";
                    lblElemanSayisi.Visible = true;
                }
            }

            else
            {
                MessageBox.Show("Lütfen sayı giriniz!");
            }
        }
예제 #2
0
        private void Gez(IkiliAgacDugumu dugum)
        {
            if (dugum == null)
            {
                return;
            }

            dizi[sayac2] = dugum.veri;

            if (sayac2 == basamakSayisi - 1)
            {
                Yazdir(dizi);
            }
            sayac2++;
            Gez(dugum.sol);
            Gez(dugum.sag);
            sayac2--;
        }
예제 #3
0
        private void Olustur(IkiliAgacDugumu dugum)
        {
            if (sayac == basamakSayisi || dugum == null)
            {
                return;
            }

            if (sayac != basamakSayisi && dugum != null)
            {
                if (dugum.sol == null)
                {
                    dugum.sol = new IkiliAgacDugumu(1);
                    sayac++;
                }
                Olustur(dugum.sol);
            }

            if (dugum != null && dugum.veri == 1)
            {
                dugum.sag = new IkiliAgacDugumu(0);
            }
            Olustur(dugum.sag);
            sayac--;
        }
 public IkiliAgacDugumu(int veri)
 {
     this.veri = veri;
     sol       = null;
     sag       = null;
 }
예제 #5
0
 public IkiliAgac(IkiliAgacDugumu kok, int basamakSayisi)
 {
     this.kok           = kok;
     this.basamakSayisi = basamakSayisi;
     dizi = new int[basamakSayisi];
 }