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!"); } }
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--; }
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; }
public IkiliAgac(IkiliAgacDugumu kok, int basamakSayisi) { this.kok = kok; this.basamakSayisi = basamakSayisi; dizi = new int[basamakSayisi]; }