public IkiliAramaAgacDugumu(AltKategoriler altkategori, ArrayList urun, Heap siraliUrun) { veri = altkategori; urunler = urun; siraliUrunler = siraliUrun; sol = null; sag = null; }
private void btn_KatEkle_Click(object sender, EventArgs e) { IkiliAramaAgaci yeniAgac = new IkiliAramaAgaci(); yeniAgac.kategoriAdi = txt_Kategori.Text; AltKategoriler yeniAltKat = new AltKategoriler(); yeniAltKat.adi = txt_AltKat.Text; yeniAltKat.dugumNumarasi = yeniAltKat.AgacSiralamasiIcinNo(yeniAltKat.adi); yeniAgac.AltKategoriEkle(yeniAltKat, null, null); market.AgacEkle(yeniAgac); grb_Kategori.Hide(); MessageBox.Show(yeniAgac.kategoriAdi + " kategorisi eklendi"); }
public void AltKategoriEkle(AltKategoriler altKategori, ArrayList urunler, Heap siraliUrunler) { //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 (altKategori.dugumNumarasi == tempSearch.veri.dugumNumarasi) { return; } else if (altKategori.dugumNumarasi < tempSearch.veri.dugumNumarasi) { tempSearch = tempSearch.sol; } else { tempSearch = tempSearch.sag; } } IkiliAramaAgacDugumu eklenecek = new IkiliAramaAgacDugumu(altKategori, urunler, siraliUrunler); //Ağaç boş, köke ekle if (kok == null) { kok = eklenecek; } else if (altKategori.dugumNumarasi < tempParent.veri.dugumNumarasi) { tempParent.sol = eklenecek; } else { tempParent.sag = eklenecek; } }
/// <summary> /// Marketteki verilerin manuel olarak eklenme işlemi /// </summary> private void VerileriEkle() { // Alt kategoriler AltKategoriler altk1 = new AltKategoriler(); altk1.adi = "Dizüstü"; altk1.dugumNumarasi = altk1.AgacSiralamasiIcinNo(altk1.adi); AltKategoriler altk2 = new AltKategoriler(); altk2.adi = "Masaüstü"; altk2.dugumNumarasi = altk2.AgacSiralamasiIcinNo(altk2.adi); AltKategoriler altk3 = new AltKategoriler(); altk3.adi = "Oyun"; altk3.dugumNumarasi = altk3.AgacSiralamasiIcinNo(altk3.adi); AltKategoriler altk4 = new AltKategoriler(); altk4.adi = "Buzdolabı"; altk4.dugumNumarasi = altk4.AgacSiralamasiIcinNo(altk4.adi); AltKategoriler altk5 = new AltKategoriler(); altk5.adi = "Çamaşır Makinesi"; altk5.dugumNumarasi = altk5.AgacSiralamasiIcinNo(altk5.adi); AltKategoriler altk6 = new AltKategoriler(); altk6.adi = "Gömlek"; altk6.dugumNumarasi = altk6.AgacSiralamasiIcinNo(altk6.adi); AltKategoriler altk7 = new AltKategoriler(); altk7.adi = "Pantolon"; altk7.dugumNumarasi = altk7.AgacSiralamasiIcinNo(altk7.adi); // Ürünler Urun urun1 = new Urun { marka = "Samsung", model = "L4", miktar = 10, maliyet = 1500, satisFiyati = 2000, urunAciklamasi = "Samsung PC", hangiKategoride = "Bilgisayar", hangiAltkategoride = "Dizüstü" }; Urun urun2 = new Urun { marka = "Toshiba", model = "T350", miktar = 30, maliyet = 1600, satisFiyati = 2100, urunAciklamasi = "Toshiba PC", hangiKategoride = "Bilgisayar", hangiAltkategoride = "Masaüstü" }; Urun urun3 = new Urun { marka = "Asus", model = "LL66", miktar = 4, maliyet = 2600, satisFiyati = 2900, urunAciklamasi = "Asus PC", hangiKategoride = "Bilgisayar", hangiAltkategoride = "Masaüstü" }; Urun urun4 = new Urun { marka = "Xiaomi", model = "XL8", miktar = 8, maliyet = 1300, satisFiyati = 1800, urunAciklamasi = "Xiaomi PC", hangiKategoride = "Bilgisayar", hangiAltkategoride = "Masaüstü" }; Urun urun5 = new Urun { marka = "Monster", model = "MX826", miktar = 18, maliyet = 6400, satisFiyati = 7200, urunAciklamasi = "Monster PC", hangiKategoride = "Bilgisayar", hangiAltkategoride = "Oyun" }; Urun urun6 = new Urun { marka = "Msi", model = "ML7462", miktar = 24, maliyet = 5240, satisFiyati = 6250, urunAciklamasi = "Msi PC", hangiKategoride = "Bilgisayar", hangiAltkategoride = "Oyun" }; Urun urun7 = new Urun { marka = "Bosch", model = "NF845", miktar = 32, maliyet = 3860, satisFiyati = 4500, urunAciklamasi = "Bosch BE", hangiKategoride = "Beyaz Eşya", hangiAltkategoride = "Buzdolabı" }; Urun urun8 = new Urun { marka = "Vestel", model = "V89", miktar = 34, maliyet = 3840, satisFiyati = 4300, urunAciklamasi = "Vestel BE", hangiKategoride = "Beyaz Eşya", hangiAltkategoride = "Çamaşır Makinesi" }; Urun urun9 = new Urun { marka = "Tudors", model = "SF12", miktar = 53, maliyet = 200, satisFiyati = 300, urunAciklamasi = "Tudors G", hangiKategoride = "Giyim", hangiAltkategoride = "Gömlek" }; Urun urun10 = new Urun { marka = "Mavi", model = "MA38", miktar = 42, maliyet = 160, satisFiyati = 220, urunAciklamasi = "Mavi G", hangiKategoride = "Giyim", hangiAltkategoride = "Pantolon" }; // alt kategoriye ürünlerin eklenmesi dizustu.Add(urun1); masaustu.Add(urun2); masaustu.Add(urun3); masaustu.Add(urun4); oyun.Add(urun5); oyun.Add(urun6); buzdolabi.Add(urun7); camasir.Add(urun8); gomlek.Add(urun9); pantolon.Add(urun10); // Heap lere ürünlerin eklenmesi minHeapDiz.Insert(urun1); minHeapMas.Insert(urun2); minHeapMas.Insert(urun3); minHeapMas.Insert(urun4); minHeapOyu.Insert(urun5); minHeapOyu.Insert(urun6); minHeapBuz.Insert(urun7); minHeapCam.Insert(urun8); minHeapGom.Insert(urun9); minHeapPan.Insert(urun10); // Ana kategoriler ve ana kategoriye alt kategorilerin ve ürünlerin eklenmesi bilgisayarAgaci = new IkiliAramaAgaci(); bilgisayarAgaci.kategoriAdi = "Bilgisayar"; bilgisayarAgaci.AltKategoriEkle(altk1, dizustu, minHeapDiz); bilgisayarAgaci.AltKategoriEkle(altk2, masaustu, minHeapMas); bilgisayarAgaci.AltKategoriEkle(altk3, oyun, minHeapOyu); bilgisayarAgaci.list_urunler.Add(urun1); bilgisayarAgaci.list_urunler.Add(urun2); bilgisayarAgaci.list_urunler.Add(urun3); bilgisayarAgaci.list_urunler.Add(urun4); bilgisayarAgaci.list_urunler.Add(urun5); bilgisayarAgaci.list_urunler.Add(urun6); beyazEsyaAgaci = new IkiliAramaAgaci(); beyazEsyaAgaci.kategoriAdi = "Beyaz Eşya"; beyazEsyaAgaci.AltKategoriEkle(altk4, buzdolabi, minHeapBuz); beyazEsyaAgaci.AltKategoriEkle(altk5, camasir, minHeapCam); beyazEsyaAgaci.list_urunler.Add(urun7); beyazEsyaAgaci.list_urunler.Add(urun8); giyimAgaci = new IkiliAramaAgaci(); giyimAgaci.kategoriAdi = "Giyim"; giyimAgaci.AltKategoriEkle(altk6, gomlek, minHeapGom); giyimAgaci.AltKategoriEkle(altk7, pantolon, minHeapPan); giyimAgaci.list_urunler.Add(urun9); giyimAgaci.list_urunler.Add(urun10); // Markete ağaçların eklenmesi ana_Market.AgacEkle(bilgisayarAgaci); ana_Market.AgacEkle(beyazEsyaAgaci); ana_Market.AgacEkle(giyimAgaci); // Hash tablasouna ürünlerin eklenmesi ana_HashTablosu.UrunEkleme(urun1.model, urun1); ana_HashTablosu.UrunEkleme(urun2.model, urun2); ana_HashTablosu.UrunEkleme(urun3.model, urun3); ana_HashTablosu.UrunEkleme(urun4.model, urun4); ana_HashTablosu.UrunEkleme(urun5.model, urun5); ana_HashTablosu.UrunEkleme(urun6.model, urun6); ana_HashTablosu.UrunEkleme(urun7.model, urun7); ana_HashTablosu.UrunEkleme(urun8.model, urun8); ana_HashTablosu.UrunEkleme(urun9.model, urun9); ana_HashTablosu.UrunEkleme(urun10.model, urun10); }