using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ListaInterfata
{
    class ListaVers2 : ILista
    {        
        private Element final = null;
        int dim, poz;

        public ListaVers2()
        {
            dim = poz = 0;
            final = null;
        }

        public ListaVers2(int x)
        {
            dim = x;
            poz = 0;
            final = null;
        }

        public Boolean EstePlina()
        {
            return poz == dim;
        }

        public Boolean EsteVida()
        {
            return final == null;
        }

        public object Primul()
        {
            if (!EsteVida())
                return final.Info;
            Console.WriteLine("Lista este vida!");
            return null;
        }

        public void AdaugaLaInceput(Object obj)
        {
            if (obj == null)
                return;
            if (EstePlina())
                Console.WriteLine("Lista este plina!");
            else
            {
                final = new Element(obj, final);
                poz++;
            }
        }

        public void StergePrimul()
        {
            if (EsteVida())
                Console.WriteLine("Lista este vida!");
            else
            {
                final = final.Next;
                poz--;
            }
        }        

        public void Afiseaza()
        {
            if (EsteVida())
                Console.WriteLine("Lista este vida!");
            else
            {
                Console.Write("Lista: ");
                for (Element p = final; p != null; p = p.Next)
                    if (p != null)
                        Console.Write(p + " ");
                Console.WriteLine();
            }
        }
    }
}
