예제 #1
0
        public bool MoveNext()
        {
            if (elsoElem == null)
            {
                elsoElem = elsoElottiElem;
            }
            else
            {
                elsoElem = elsoElem.Kovetkezo;
            }

            return(elsoElem != null);
        }
예제 #2
0
        public void UjFelvetel(T ujElem)
        {
            ListaElem <T> uj = new ListaElem <T>(ujElem);
            ListaElem <T> aktualis;

            // Ha a lista üres
            if (fej == null)
            {
                fej   = new ListaElem <T>(ujElem, null, null);
                farok = fej;
                Hossz++;
            }  // A lista elejére kell beilleszteni az új elemet?
            else if (fej.Tartalom.Erdekesseg >= uj.Tartalom.Erdekesseg)
            {
                uj.Kovetkezo       = fej;
                uj.Kovetkezo.Elozo = uj;
                fej = uj;
                Hossz++;
            }
            else
            {
                aktualis = fej;

                //Megkeresem azt az elemet, amely után beilleszthetem az új elemet.
                while (aktualis.Kovetkezo != null && aktualis.Kovetkezo.Tartalom.Erdekesseg < uj.Tartalom.Erdekesseg)
                {
                    aktualis = aktualis.Kovetkezo;
                }

                //A megfelelő hivatkozások beállítása
                uj.Kovetkezo = aktualis.Kovetkezo;

                //Ha az új elem nem a lista végére került
                if (aktualis.Kovetkezo != null)
                {
                    uj.Kovetkezo.Elozo = uj;
                }

                aktualis.Kovetkezo = uj;
                uj.Elozo           = aktualis;
                Hossz++;
            }
        }
예제 #3
0
        public void Torol(T elem)
        {
            ListaElem <T> torlendo = new ListaElem <T>(elem);
            ListaElem <T> aktualis = fej;

            while (aktualis != null && aktualis.Tartalom.Nev != torlendo.Tartalom.Nev)
            {
                aktualis = aktualis.Kovetkezo;
            }

            if (aktualis.Tartalom.Nev == torlendo.Tartalom.Nev)
            {
                aktualis.Elozo.Kovetkezo = aktualis.Kovetkezo;
                aktualis = null;
            }
            else
            {
                throw new Exception("A megadott név nem található a listában!");
            }
        }
예제 #4
0
 public Lista()
 {
     fej   = farok = null;
     Hossz = 0;
 }
예제 #5
0
 public void Reset()
 {
     elsoElem = null;
 }
예제 #6
0
 public void Dispose()
 {
     elsoElem       = null;
     elsoElottiElem = null;
 }
예제 #7
0
 public ListaBejaro(ListaElem <T> elsoElem)
 {
     this.elsoElottiElem = elsoElem;
     this.elsoElem       = null;
 }
예제 #8
0
 public ListaElem(T tartalom, ListaElem <T> elozo, ListaElem <T> kovetkezo)
 {
     Tartalom  = tartalom;
     Elozo     = elozo;
     Kovetkezo = kovetkezo;
 }
예제 #9
0
 public ListaElem(T tartalom)
 {
     Tartalom  = tartalom;
     Elozo     = null;
     Kovetkezo = null;
 }
예제 #10
0
 public ListaElem()
 {
     Tartalom  = default(T);
     Elozo     = null;
     Kovetkezo = null;
 }