Pregunta: Cómo usar dos pilas para implementar una cola, es decir, dos métodos para implementar una cola: appendTail (inserción) y deleteHead (eliminación).
Análisis: la idea central es que una pila almacena hacia adelante y la otra pila almacena hacia atrás. La pila de almacenamiento directo se utiliza para la inserción y la pila de almacenamiento inverso se utiliza para la eliminación.
El código Java implementado es el siguiente:
Copie el código de código de la siguiente manera:
importar java.util.Stack;
clase pública QueneWithTwoStacks<E> {
Pila privada<E> pila1;
Pila privada<E> pila2;
appendTail público vacío (E e) {
pila1.push(e);
}
public E deleteHead() lanza una excepción {
si (stack2.size() <= 0) {
mientras (!stack1.isEmpty()) {
pila2.push(stack1.pop());
}
}
si (pila2.tamaño() == 0) {
lanzar una nueva excepción ("¡La cola está vacía!");
}
devolver pila2.pop();
}
}