/CarParkProject_LinkedListQueueStack

This car park project was developed on C# WinForm with using linked list, queue and stack data structures.

Primary LanguageC#

CarParkProject_LinkedListQueueStack

Bu uygulama Data Structures (Veri Yapıları) dersi için linked list (bağlı liste), queue (kuyruk) ve stack data structers (yığın veri yapıları) kulanılarak geliştirilmiştir.

AÇIKLAMA

Gerçekleştirilen Platform

Microsoft Visual Studio Community 2017 - Version 15.6.2 - C#

Projenin Tanımı

3 katlı bir otoparkın her katına eklenen 15’er tane arabanın, sadece zemin kattan birer birer çıkmasına izin veren otopark projesi.

Veri Yapısı Kataloğu

Kullanılan Veri Yapıları

  • Bağlı liste
  • Dairesel kuyruk
  • Yığın

Sınıflar ve Metotlar

  • Araba Sınıfı: Arabanın renk özelliğini tutar.
  • IQueue Arayüzü:
    • void Insert(Araba a);
    • Araba Remove();
    • Araba Peek();
    • Boolean IsEmpty();
  • IStack Arayüzü:
    • void Push(Araba a);
    • Araba Pop();
    • Araba Peek();
    • Boolean IsEmpty();
    • int Top { get; set; }
  • LinkedListADT Soyut Sınıfı:
    • Node Head;
    • Node Last;
    • int Size = 0;
    • abstract void InsertFirst(Araba a);
    • abstract Node Delete();
  • Node Sınıfı: Düğümün özelliklerini tutar.
  • BodrumKat Sınıfı: Bodrum kattaki arabaların tutulduğu yığın.
    • void Push(Araba a) : Yığına araba ekler.
    • Araba Pop(): Yığından araba çıkarır.
    • Araba Peek(): Yığındaki ilk elemanı döndürür.
    • Boolean IsEmpty(): Yığın boş mu diye kontrol eder.
    • int Top { get; set; }: Yığının en üstündeki eleman.
    • string BKListele() : Yığındaki arabaları listeler.
  • ZeminKat Sınıfı: Zemin kattaki arabaların tutulduğu kuyruk.
    • void Insert(Araba a): Kuyruğa araba ekler.
    • Araba Remove(); Kuyruktan araba çıkarır.
    • Araba Peek(); Kuyruktaki ilk elemanı döndürür.
    • Boolean IsEmpty(): Kuyruk boş mu diye kontrol eder.
    • string ZKListele() : Kuyruktaki arabaları listeler.
    • double Test() : bilgisayarın 5 saniyede ortalama kaç adet otopark problemi çözdüğünü döndürür.
  • UskKat Sınıfı: Üst kattaki arabaların tutulduğu bağlı liste.
    • abstract void InsertFirst(Araba a) : Listenin başına araba ekler.
    • abstract Node Delete(): Listeden araba çıkarır.
    • string UKListele() : Listedeki arabaları listeler.