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.
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).