public void Push(Araba a) { if (Bodrum.Length == Top + 1) { throw new Exception("Hata: Stack dolu..."); } Bodrum[++Top] = a; }
public Araba Pop() { if (IsEmpty()) { throw new Exception("Hata: Stack Boş"); } Araba temp = Bodrum[Top--]; return(temp); }
private void btnSifirla_Click(object sender, EventArgs e) { DateTime dtBas = DateTime.Now; for (int i = 0; i < 45; i++) { if (Ik.counter == 0) { return; } temp = Ik.Remove(); MessageBox.Show(temp.AracNo + " nolu arac " + temp.Renk + " cıktı"); int t = r.Next(1, 3); if (ik.Size == 0 && Bk.Top != -1) { t = 1; } else if (ik.Size != 0 && Bk.Top == -1) { t = 2; } else if (ik.Size == 0 && Bk.Top == -1) { continue; } ; switch (t) { case 1: temp = Bk.Pop(); Ik.Insert(temp); MessageBox.Show(temp.AracNo + " nolu arac " + temp.Renk + " cıktı"); break; case 2: tmp = ik.Delete(); Ik.Insert(tmp.Data); MessageBox.Show(tmp.Data.AracNo + " nolu arac " + tmp.Data.Renk + " cıktı"); break; } } y = 0; TimeSpan ts = DateTime.Now.Subtract(dtBas); MessageBox.Show("45 aracın çıkışında geçen süre: " + ts.ToString()); }
public void Insert(Araba a) { if (counter == size) { throw new Exception("İlk kat dolu..."); } if (front == -1) { front = 0; } if (rear == 15) { rear = 0; } Ilk[++rear] = a; counter++; //Arabalara sıra numarası ver.. }
public override void Insert(Araba value) { Node tmpHead = new Node { Data = value }; if (Head == null) { Head = tmpHead; Head.Next = Head; } else { tmpHead.Next = Head; Head = tmpHead; } Size++; }
public Araba Remove() { if (IsEmpty()) { throw new Exception("Otoparkta çıkarılacak araç yok..");//return "Otoparkta çıkarılacak araç yok."; } Araba temp = Ilk[front]; Ilk[front] = null; front++; if (front == 15) { front = 0; } counter--; return(temp); }
private void btnCikar_Click(object sender, EventArgs e) { if (Ik.counter == 0) { return; } temp = Ik.Remove(); MessageBox.Show(temp.AracNo + " nolu arac " + temp.Renk + " cıktı"); int z = r.Next(1, 3); if (ik.Size == 0 && Bk.Top != -1) { z = 1; } else if (ik.Size != 0 && Bk.Top == -1) { z = 2; } else if (ik.Size == 0 && Bk.Top == -1) { return; } switch (z) { case 1: temp = Bk.Pop(); Ik.Insert(temp); MessageBox.Show(temp.AracNo + " nolu arac " + temp.Renk + " cıktı"); break; case 2: tmp = ik.Delete(); ik.Insert(tmp.Data); MessageBox.Show(tmp.Data.AracNo + " nolu arac " + tmp.Data.Renk + " cıktı"); break; } y = 0; }
private void btnEkle_Click(object sender, EventArgs e) { if (y == 0) { for (int i = 1; i <= 45; i++) { Araba a = new Araba(); a.AracNo = i; a.Renk = Renkler[r.Next(0, 4)]; if (i < 16) { Bk.Push(a); } else if (i < 31 && i >= 16) { Ik.Insert(a); } else { ik.Insert(a); } } } y++; ZeminList.Items.Clear(); İlkKatList.Items.Clear(); İkinciKatList.Items.Clear(); foreach (Araba item in Bk.Bodrum) { if (item != null) { ZeminList.Items.Add(item.AracNo + " nolu " + item.Renk + " renkli araç"); } else { continue; } } foreach (Araba item in Ik.Ilk) { if (item != null) { İlkKatList.Items.Add(item.AracNo + " nolu " + item.Renk + " renkli araç"); } else { continue; } } for (int i = 0; i < ik.Size; i++) { Node t = ik.GetElement(i); if (t.Data != null) { İkinciKatList.Items.Add(t.Data.AracNo + " nolu " + t.Data.Renk + " renkli araç"); } else { break; } } }
public abstract void Insert(Araba value);