public void PostOrderVisit(KategoriBSTDugum dugum) { if (dugum == null) { return; } PostOrderVisit(dugum.SolDugum); PostOrderVisit(dugum.SagDugum); Ziyaret(dugum); }
public void Ekle(string UrunTipi, Urun urun) { bool flag = false; KategoriBSTDugum tempParent = new KategoriBSTDugum(); //Kökten başla ve ilerle KategoriBSTDugum tempSearch = kok; while (tempSearch != null) { tempParent = tempSearch; //Deger zaten var, çık. if (String.Compare(tempSearch.Data.UrunTipi, UrunTipi, true) == 0) { break; } else if (String.Compare(tempSearch.Data.UrunTipi, UrunTipi, true) == 1) { flag = true; tempSearch = tempSearch.SolDugum; } else if (String.Compare(tempSearch.Data.UrunTipi, UrunTipi, true) == -1) { flag = true; tempSearch = tempSearch.SagDugum; } } Kategori ktgr = new Kategori(UrunTipi); KategoriBSTDugum category = new KategoriBSTDugum(ktgr); kok = category; ktgr.Ekle(urun); if (tempSearch == null) { Kategori kategori = new Kategori(UrunTipi); kategori.Ekle(urun); if (flag) { tempParent.SolDugum = new KategoriBSTDugum(kategori); } else { tempParent.SagDugum = new KategoriBSTDugum(kategori); } } else { tempSearch.Data.Ekle(urun); } }
public Kategori YuksekDegerliUrun() { KategoriBSTDugum tempRight = kok; while (tempRight.SagDugum != null) { tempRight = tempRight.SagDugum; } return(tempRight.Data); }
public Kategori DüsükDegerliUrun() { KategoriBSTDugum tempLeft = kok; while (tempLeft.SolDugum != null) { tempLeft = tempLeft.SolDugum; } return(tempLeft.Data); }
public int Urunsayisi(KategoriBSTDugum node) { int count = 0; if (node != null) { count = 1; count += Urunsayisi(node.SolDugum); count += Urunsayisi(node.SagDugum); } return(count); }
private void Ziyaret(KategoriBSTDugum dugum) { duzeyCount++; int kalan = duzeyCount % 2; int bolum = duzeyCount / 2; if (kalan == 0 && bolum % 2 == 0) { duzey += 1; } liste.Add(new UrunListe() { duzey = duzey, urunler = dugum.Data.Urunler }); }
public int YaprakSayisi(KategoriBSTDugum dugum) { int count = 0; if (dugum != null) { if (dugum.SolDugum == null && dugum.SagDugum == null) { count = 1; } else { count = YaprakSayisi(dugum.SolDugum) + YaprakSayisi(dugum.SagDugum); } } return(count); }
public KategoriBSTDugum KategoriAra(KategoriBSTDugum dugum, string anahtar) { if (dugum == null) { return(null); } else if (String.Compare(dugum.Data.UrunTipi, anahtar, true) == 0) { return(dugum); } else if (String.Compare(dugum.Data.UrunTipi, anahtar, true) == 1) { return(KategoriAra(dugum.SolDugum, anahtar)); } else { return(KategoriAra(dugum.SolDugum, anahtar)); } }
public Urun Sil(string Aciklama, KategoriBSTDugum dugum) { if (dugum == null) { return(null); } for (int i = 0; i < dugum.Data.Urunler.Count; i++) { if (dugum.Data.Urunler[i].Aciklama == Aciklama) { Urun temp = dugum.Data.Urunler[i]; dugum.Data.Urunler.RemoveAt(i); return(temp); } } Urun temp1 = Sil(Aciklama, dugum.SolDugum) ?? Sil(Aciklama, dugum.SagDugum); return(temp1); }
public KategoriBSTDugum(Kategori Data) { SolDugum = null; SagDugum = null; this.Data = Data; }
public KategoriBSTDugum() { SolDugum = null; SagDugum = null; this.Data = null; }