public override void Ekle(KuyruktakiBirey Birey) { if (count == 0) { rear++; front++; this.musteriler[rear] = Birey; count++; } else { int i; for (i = count - 1; i >= 0; i--) { KuyruktakiBirey Musteri = this.musteriler[i]; KuyruktakiBirey Birisi = Birey; if ((Musteri.IslemSuresi) < (Birisi.IslemSuresi)) { this.musteriler[i + 1] = this.musteriler[i]; } else { break; } } this.musteriler[i + 1] = Birey; rear++; count++; } }
public int Cikar() { KuyruktakiBirey Musteri = this.musteriler[front]; int sure = Musteri.IslemSuresi; if (front == size - 1) { front = 0; } else { this.musteriler[front] = null; front++; } count--; return(sure); }
public override void Ekle(KuyruktakiBirey Birey) { if (front == -1) { front = 0; } if (rear == size - 1) { rear = 0; this.musteriler[rear] = Birey; } else { this.musteriler[++rear] = Birey; } count++; }
public AzalanOncelikliKuyruk(int boyut) { this.size = boyut; musteriler = new KuyruktakiBirey[size]; }
private void btnHesapla_Click(object sender, EventArgs e) { Random randomSure = new Random(); AzalanOncelikliKuyruk Azalan = new AzalanOncelikliKuyruk(20); ArtanOncelikliKuyruk Artan = new ArtanOncelikliKuyruk(20); DaireselKuyruk Dairesel = new DaireselKuyruk(20); for (int i = 0; i < 20; i++) { Random Rnd = new Random(); int sure = Rnd.Next(60, 600); KuyruktakiBirey Musteri = new KuyruktakiBirey { IslemSuresi = sure }; Azalan.Ekle(Musteri); Artan.Ekle(Musteri); Dairesel.Ekle(Musteri); } int artanKuyruktakiSure = 0, azalanKuyruktakiSure = 0, fifoKuyruktakiSure = 0, artanKisiselIslemSuresi = 0, azalanKisiselIslemSuresi = 0, fifoKisiselIslemSuresi = 0, artanBireyselFark = 0, azalanBireyselFark = 0, artanToplam = 0, fifoToplam = 0, azalanToplam = 0, artanTopFark = 0, azalanTopFark = 0, artanYuzde = 0, azalanYuzde = 0, artanOrtalama = 0, azalanOrtalama = 0, fifoOrtalama = 0; string artanKisi = "", azalanKisi = "", fifoKisi = "" , artanKisiFark = "", azalanKisiFark = ""; for (int i = 0; i < 20; i++) { artanKisiselIslemSuresi = Artan.Cikar(); azalanKisiselIslemSuresi = Azalan.Cikar(); fifoKisiselIslemSuresi = Dairesel.Cikar(); //kuyruktaki elemanın kuyrukta harcayacağı zamanla işlemi için harcayacağı zaman toplanıyor artanKuyruktakiSure += artanKisiselIslemSuresi; azalanKuyruktakiSure += azalanKisiselIslemSuresi; fifoKuyruktakiSure += fifoKisiselIslemSuresi; artanKisi += (i + 1).ToString() + ". kişinin kuyruk+işlem süresi:" + artanKuyruktakiSure.ToString() + Environment.NewLine; azalanKisi += (i + 1).ToString() + ". kişinin kuyruk+işlem süresi:" + azalanKuyruktakiSure.ToString() + Environment.NewLine; fifoKisi += (i + 1).ToString() + ". kişinin kuyruk+işlem süresi:" + fifoKuyruktakiSure.ToString() + Environment.NewLine; artanBireyselFark = artanKuyruktakiSure - fifoKuyruktakiSure; azalanBireyselFark = azalanKuyruktakiSure - fifoKuyruktakiSure; artanKisiFark += artanBireyselFark.ToString() + Environment.NewLine; azalanKisiFark += azalanBireyselFark.ToString() + Environment.NewLine; } txtArtanListe.Text = artanKisi; txtAzalanListe.Text = azalanKisi; txtDaireselListe.Text = fifoKisi; txtArtanFark.Text = artanKisiFark; txtAzalanFark.Text = azalanKisiFark; artanToplam = artanKuyruktakiSure; azalanToplam = azalanKuyruktakiSure; fifoToplam = fifoKuyruktakiSure; txtArtanToplam.Text = artanToplam.ToString(); txtAzalanToplam.Text = azalanToplam.ToString(); txtFifoToplamSure.Text = fifoToplam.ToString(); artanTopFark = artanToplam - fifoToplam; azalanTopFark = azalanToplam - fifoToplam; txtArtanTopFark.Text = artanTopFark.ToString(); txtAzalanTopFark.Text = azalanTopFark.ToString(); artanYuzde = artanToplam * 100 / fifoToplam; azalanYuzde = azalanToplam * 100 / fifoToplam; txtArtanFarkYuzdesi.Text = artanYuzde.ToString(); txtAzalanFarkYuzdesi.Text = azalanYuzde.ToString(); artanOrtalama = artanToplam / 20; azalanOrtalama = azalanToplam / 20; fifoOrtalama = fifoToplam / 20; txtArtanOrtalama.Text = artanOrtalama.ToString(); txtAzalanOrtalama.Text = azalanOrtalama.ToString(); txtFifoOrtalama.Text = fifoOrtalama.ToString(); }
public abstract void Ekle(KuyruktakiBirey Birey);
public DaireselKuyruk(int boyut) { this.size = boyut; musteriler = new KuyruktakiBirey[size]; }