Saltar a contenido

Pilas

Una pila es una lista en la que todas las inserciones y supresiones se hacen en un extremo de la lista. Un ejemplo de esta estructura es una pila de platos. En ella, el añadir o quitar platos se hace siempre por la parte superior de la pila. Este tipo de listas recibe también el nombre de listas LIFO (last in first out – último en entrar, primero en salir). Las operaciones de meter y sacar en una pila son conocidas en los lenguajes ensambladores como push y pop, respectivamente. La operación de sacar un elemento de la pila suprime dicho elemento de esta.

Pila

En Java, clase Stack

En Java, podemos implementar pilas utilizando la clase genérica Stack.

Método Descripción
push() Inserta un elemento en la pila
pop() Elimina el elemento superior de la pila.
peek() Devuelve el elemento superior de la pila sin eliminarlo.
isEmpty() Verifica si la pila está vacía.
search() Busca un elemento en la pila y devuelve su distancia desde la parte superior.
public class ApplicationMain {
    public static void main(String[] args) {
        //Pilas con la clase Stack
        //Crear una pila de libros
        Stack<String> books = new Stack<>();
        //Agregando elementos a la pila
        books.push("Book 1");
        books.push("Book 2");
        books.push("Book 3");
        //Mostrando la pila
        System.out.println(books);
        //Ver el ultimo elemento
        System.out.println("ultimo elemento: " +
        books.peek());
        //Eliminar el ultimo elemento
        System.out.println("ultimo elemento eliminado: "+
        books.pop());
        //ver luego de eliminar
        System.out.println(books);
        //buscar elemento
        System.out.println("ubicación de Book 1 respecto a la parte superior: "+ books.search("Book 1"));
    }
}

Actividad

  • AC 904 (RA6 / CE6a CE6b CE6e CE6f / IC1 / 3p). Diseña el algoritmo que necesita un friegaplato que debe limpiar 10 platos antes de proceder a su secado. Se debe mostrar por pantalla cual es la acción (fregar/secar).