Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace Lab04
- {
- class Element
- {
- public object wartosc { get; set; }
- public Element nastepnyElement;
- public Element() { wartosc = null; nastepnyElement = null; }
- public Element(object wartosc_, Element nastepnyElement_) {
- wartosc = wartosc_;
- nastepnyElement = nastepnyElement_;
- }
- };
- class Kolejka: Element {
- private Element pierwszyElement = null;
- private Element ostatniElement = null;
- public int liczbaElementow;
- public void Dodaj(object wartosc_)
- {
- liczbaElementow++;
- if (pierwszyElement == null)
- pierwszyElement = ostatniElement = new Element() { wartosc = wartosc_ };
- else
- ostatniElement = ostatniElement.nastepnyElement = new Element() { wartosc = wartosc_ };
- }
- public object Pobierz() {
- if(pierwszyElement == null)
- {
- Console.WriteLine("Kolekcja jest pusta");
- return null;
- }
- else
- {
- liczbaElementow--;
- var usuwanyElement = pierwszyElement.wartosc;
- pierwszyElement = pierwszyElement.nastepnyElement;
- Console.WriteLine("Usunieto pierwszy element kolejki z wartoscia: " + usuwanyElement.ToString());
- return usuwanyElement;
- }
- }
- private Element Get(int i)
- {
- var e = pierwszyElement;
- while (i-- > 0 && e != null)
- e = e.nastepnyElement;
- if (e == null)
- throw new IndexOutOfRangeException();
- return e;
- }
- public object this[int i] { get => Get(i).wartosc; set => Get(i).wartosc = value; }
- public void Wypisz()
- {
- for(int i = 0; i < liczbaElementow; i++)
- {
- Console.WriteLine((object)this[i].ToString());
- }
- }
- };
- class Program
- {
- static void Main(string[] args)
- {
- Kolejka k = new Kolejka();
- k.Dodaj(1);
- k.Dodaj(2);
- k.Dodaj(3);
- k.Dodaj(8);
- k.Wypisz();
- Console.WriteLine("Liczba elementow: {0}", k.liczbaElementow);
- int element = (int)k.Pobierz();
- Console.WriteLine("Pobrany element: {0}", element);
- k.Pobierz();
- k.Wypisz();
- Console.WriteLine("Liczba elementow: {0}", k.liczbaElementow);
- k.Dodaj(7);
- k.Dodaj(4);
- k.Wypisz();
- Console.WriteLine("Liczba elementow: {0}", k.liczbaElementow);
- element = (int)k.Pobierz();
- Console.WriteLine("Pobrany element: {0}", element);
- k.Wypisz();
- Console.WriteLine("Liczba elementow: {0}", k.liczbaElementow);
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement