public void UrunGuncelle(Urun EskiUrun, Urun YeniUrun) { İkiliAramaAgacDugumu temp = new İkiliAramaAgacDugumu(); foreach (IkiliAgac tree in Kategoriler) { if (tree.Isim == EskiUrun.Kategori) { foreach (İkiliAramaAgacDugumu dugum in AltKategoriler) { if (EskiUrun.AltKategori == dugum.Adı) { temp = dugum; } } List <Urun> GeciciListe = tree.AraImp(temp.Id).veri; foreach (Urun urun1 in GeciciListe) { if (urun1.AltKategori == EskiUrun.AltKategori) {// GÜNCElleme de yeni ıd atanmayacağı için direk listeye ulaşarak işlemleri burada gerçekleştiriyoruz. int keeper; keeper = urun1.Id; GeciciListe.Remove(urun1); YeniUrun.Id = keeper; GeciciListe.Add(YeniUrun); break; } } } } }
public Urun UrunAra(string seri, string kategori, string altkategori) { Urun tempurun = new Urun(); İkiliAramaAgacDugumu Node = new İkiliAramaAgacDugumu(); foreach (IkiliAgac tree in Kategoriler) { if (tree.Isim == kategori) { foreach (İkiliAramaAgacDugumu dugum in AltKategoriler) { if (altkategori == dugum.Adı) { Node = dugum; } } foreach (Urun urun in tree.AraImp(Node.Id).veri) { if (seri == urun.SeriNo) { tempurun = urun; } } } } return(tempurun); }
public void UrunSil(Urun urun) { İkiliAramaAgacDugumu temp = new İkiliAramaAgacDugumu(); List <Urun> Gecici; foreach (IkiliAgac tree in Kategoriler) { if (tree.Isim == urun.Kategori) { foreach (İkiliAramaAgacDugumu node in AltKategoriler) { if (node.Adı == urun.AltKategori) { temp = node; } } Gecici = tree.AraImp(temp.Id).veri; foreach (Urun urun1 in Gecici) { if (urun1.SeriNo == urun.SeriNo) { Gecici.Remove(urun1); break; } } } } }
private void btnAltKategoriEkle_Click_1(object sender, EventArgs e) { IkiliAgac temp = m.KategoriBul(cmbKategoriSec.Text); İkiliAramaAgacDugumu tempnode = new İkiliAramaAgacDugumu(); tempnode.Adı = txtYeniAltKategori.Text; temp.Ekle(tempnode); m.AltKategoriler.Add(tempnode);// BURADA AGAC DAN SONRA LİSTEMİZEDE EKLEME YAPIYORUZ.. MessageBox.Show("Alt Kategori Eklenmiştir."); }
private void PreOrderInt(İkiliAramaAgacDugumu dugum) { if (dugum == null) { return; } Ziyaret(dugum); ListeOLustur(dugum); PreOrderInt(dugum.sol); PreOrderInt(dugum.sag); }
public int DugumSayisi(İkiliAramaAgacDugumu dugum) { int count = 0; if (dugum != null) { count = 1; count += DugumSayisi(dugum.sol); count += DugumSayisi(dugum.sag); } return(count); }
public İkiliAramaAgacDugumu AltKategoriBul(string isim) { İkiliAramaAgacDugumu node = new İkiliAramaAgacDugumu(); foreach (İkiliAramaAgacDugumu temp in AltKategoriler) { if (temp.Adı == isim) { node = temp; } } return(node); }
public int YaprakSayisi(İkiliAramaAgacDugumu 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); }
private İkiliAramaAgacDugumu Ara(int Aranan, İkiliAramaAgacDugumu dugum) { if (dugum == null) { return(null); } if (Aranan < dugum.Id) { return(Ara(Aranan, dugum.sol)); } else if (Aranan > dugum.Id) { return(Ara(Aranan, dugum.sag)); } else { return(dugum); } }
private void btnListe4_Click_1(object sender, EventArgs e) { lboxUrunler.Items.Clear(); if ((txtHeapAltKategori.Text == "" && txtAdet.Text == "") || txtHeapAltKategori.Text == "" || txtAdet.Text == "") { MessageBox.Show("Lütfen kategori adını ve adet giriniz."); } else { İkiliAramaAgacDugumu temp = market.AltKategoriBul(txtHeapAltKategori.Text); if (temp.veri == null) { MessageBox.Show("Ürün bulunamamıştır."); } else { HeapTree.DiziOlustur(temp.veri.Count); if (Convert.ToInt16(txtAdet.Text) > temp.veri.Count || Convert.ToInt16(txtAdet.Text) <= 0) { MessageBox.Show(" 0 ile " + temp.veri.Count + " arasında adet girebilirsiniz "); } else { foreach (Urun prototip in temp.veri) { HeapTree.Insert(prototip); } HeapDugumu Node; string str = ""; for (int i = 0; i < Convert.ToInt16((txtAdet.Text)); i++) { Node = HeapTree.RemoveMin(); SepetUrunleri.Add(Node); //Sepet.Sepet.Add(Node.Data); str = Node.Data.Marka + " " + Node.Data.Model + " " + Node.Data.SatisFiyati; lboxUrunler.Items.Add(str); } } } } }
public void Ekle(İkiliAramaAgacDugumu deger) { İkiliAramaAgacDugumu tempparent = new İkiliAramaAgacDugumu(); İkiliAramaAgacDugumu tempsearch = kok; deger.Id = AltKategoriIdSayac; while (tempsearch != null) { tempparent = tempsearch; if (deger.Id < tempsearch.Id) { tempsearch = tempsearch.sol; } else if (deger.Id == tempsearch.Id) { return; } else { tempsearch = tempsearch.sag; } } if (kok == null) { kok = deger; } if (deger.Id < tempparent.Id) { tempparent.sol = deger; } else { tempparent.sag = deger; } AltKategoriIdSayac++;//Altkategori ıd sini otomatik vermesi için agaca idsayac ekledim her ekleme yaptığında 1 arttıracak }
public void UrunEkle(Urun urun) { İkiliAramaAgacDugumu node = new İkiliAramaAgacDugumu(); foreach (IkiliAgac tree in Kategoriler) { if (tree.Isim == urun.Kategori)// İF'E KATEGORİYİ BULDUGUNDA GİRECEK!! { foreach (İkiliAramaAgacDugumu temp in AltKategoriler) { if (temp.Adı == urun.AltKategori) { node = temp; break; } } // urunlere id atanacak tree.AraImp(node.Id).UrunEkle(urun); break; } } }
private void ListeOLustur(İkiliAramaAgacDugumu Dugum) { Dugumler.Add(Dugum); }
public IkiliAgac(İkiliAramaAgacDugumu dugum) { this.kok = dugum; }
private void Ziyaret(İkiliAramaAgacDugumu dugum) { dugumler += dugum.Adı + " "; }