Oferta de penalización para demostrar la seguridad (pilas y colas) - con dos pilas de espera

  (Cola con dos pilas) Título Descripción:


Dos pilas para lograr una cola, el empuje la cola de ejecución y las operaciones Pop. elementos de cola Int.


 

  Por estructura de datos pila, cuyo elemento se hace avanzar fuera de la post, tales como datos de entrada {a, b, c}, tal línea de datos para lograr un uso deseado de dos pilas, la forma final de la cola, entonces tendrá que FIFO mientras que en la pila, el primero en entrar en una posición en la parte inferior de la pila, por lo que dejar que la cola se dan cuenta hay operación pop entonces tienen que hacer una orden de llegada, así que antes de que este primero de una operación de bloque de empuje se realiza, Dado que una en la parte inferior, es necesario b, c son pop, pop de datos para empujar dentro STACK2, de modo que el niño está en STACK2 {c, b}, en este momento una cola estallar hacia fuera elementos, ahora necesita ser originalmente van en, b, y c, por lo que directamente elementos STACK2 estallar hacia fuera en la línea. Conclusiones se pueden resumir de la siguiente manera:

  (1) cuando se inserta, directamente en STACK1.

  (2) cuando la eyección, cuando STACK2 no vacía, la STACK2 elemento pop superior, si STACK2 está vacío, el número total de la pila por una en STACK1 STACK2 pila, y luego hacer estallar los STACK2 elemento superior.

       

 

 

   Realización: la operación de empuje será todos los elementos son presionados por primera vez en el interior STACK1, operación pop es determinar en primer lugar si existe un elemento que STACK2, si la primera ventana emergente, a continuación, usted no tiene todos los elementos dentro de la STACK1 aparece de nuevo presionado en STACK2.

java.util.Stack importación; 

public class {Solución 
    Pila <Integer> STACK1 = new Pila <Integer> (); 
    Stack <Integer> STACK2 = new Stack <Integer> (); 
    
    pública empuje vacío (int nodo) { 
        stack1.push (nodo); 
    } 
    
    Int pop pública () { 
        si (stack2.size () <= 0) { 
            while (stack1.size ()! = 0) { 
                stack2.push (stack1.pop ()); 
            } 
        } 
        Stack2.pop retorno (); 
    } 
}

  

Supongo que te gusta

Origin www.cnblogs.com/dashenaichicha/p/12540067.html
Recomendado
Clasificación