/*
 * PilaEnlazada.java
 *
 */

public class PilaEnlazada
{

    class Nodo
    {
        Object elem;
        Nodo siguiente;
        public Nodo(Object o)
        {
            elem = o;
            siguiente = null;
        }
    }
    Nodo tope;
    int tamaņo;


    public PilaEnlazada()
    {
        tope = null;
        tamaņo = 0;
    }
    public void insertar(Object o)
    {
        Nodo nuevo = new Nodo(o);
        if (tope == null)
            tope = nuevo;
        else
        {
            nuevo.siguiente = tope;
            tope = nuevo;
        }
        tamaņo++;
    };  //inserta el objeto o en el tope de la pila

    public Object retirar()
    {
        if (tope == null) return null; ;
        Object o = tope.elem;
        tope = tope.siguiente;
        tamaņo--;
        return o;
    }//coge el objeto del tope de la pila y lo retira

    public boolean estaVacia()
    {

        return (tamaņo == 0);
    }


    public int tamaņo()
    {

        return tamaņo;
    }

    public Object tope()
    {

        if (tope == null) return null;
        else return tope.elem;
    }



    public String toString()
    {
        /* apartado 1 */
        return "";
    }

    public void eliminarDelMedio(int posicion)
    {
        /* apartado 3 */
    }


} //class PilaEnlazada

