예제 #1
0
 public IkiliAramaAgacDugumu(AltKategoriler altkategori, ArrayList urun, Heap siraliUrun)
 {
     veri          = altkategori;
     urunler       = urun;
     siraliUrunler = siraliUrun;
     sol           = null;
     sag           = null;
 }
예제 #2
0
        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");
        }
예제 #3
0
        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;
            }
        }
예제 #4
0
        /// <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);
        }