Pila y cola en Java

Pila y cola en Java
Este artículo explica Stack and Queue en Java, comenzando con la clase de pila. La pila es LIFO y la cola es FIFO - vea los detalles a continuación.

Pila

Introducción de pila

Imagina una pila de platos en una mesa. Después de que el primero se puso sobre la mesa, el siguiente se puso el primero; El tercero fue puesto en el segundo; y así sucesivamente, hasta que se alcanzó un número satisfactorio. Para eliminar las placas de la mesa, una por una, la última puesta en la parte superior se elimina primero; Luego se elimina el último pero uno a continuación; Luego se eliminó el siguiente desde la parte superior; etcétera. Entonces, el último plato que se pone en la pila es el que se eliminará primero. En ese sentido, todas las placas se eliminan en un último orden. El orden de último en_first-out está abreviado, LIFO.

Una pila en Java es una estructura de datos LIFO. Tal estructura mantiene objetos del mismo tipo. El elemento en el primer índice es el elemento en la parte superior. Una pila debe tener al menos los siguientes tres métodos:

empujar: Esto agrega un nuevo elemento sobre la pila.

estallido: Esto elimina el elemento que está en la parte superior de la pila.

ojeada: Esto se lee, sin eliminar, el elemento en la parte superior.

En Java, la clase de pila está en el Java.utilizar.* Paquete, que debe importarse.

En Java, la pila tiene un constructor y cinco métodos, todos los cuales se explican a continuación:

Construcción de Java Stack

La sintaxis para el constructor de una pila vacía, es:

pila pública ()

La siguiente declaración construye una pila vacía llamada ST:

Pila ST = nueva pila();

Métodos de pila de Java

Public E Push (E Ítem)

Esto agrega un elemento en la parte superior de la pila. Ilustración:

Pila ST = nueva pila();
calle.push ('a'); calle.push ('b'); calle.push ('c'); calle.push ('d'); calle.push ('e');

Public E Pop ()

Esto elimina el elemento en la parte superior de la pila y lo devuelve. Ilustración:

Pila ST = nueva pila();
calle.push ('a'); calle.push ('b'); calle.push ('c'); calle.push ('d'); calle.push ('e');
char ch1 = st.estallido(); char ch2 = st.estallido(); char ch3 = st.estallido();
char ch4 = st.estallido(); char ch5 = st.estallido();
Sistema.afuera.imprimir (CH1); Sistema.afuera.imprimir ("); sistema.afuera.imprimir (CH2);
Sistema.afuera.imprimir ("); sistema.afuera.imprimir (CH3); Sistema.afuera.imprimir(");
Sistema.afuera.imprimir (CH4); Sistema.afuera.imprimir ("); sistema.afuera.imprimir (ch5);
Sistema.afuera.println ();

La salida es:

E D C B A

con elementos eliminados en el orden inverso en el que fueron empujados.

Public E Peek ()

Esto copia sin eliminar el elemento en la parte superior de la pila y lo devuelve. Ilustración:

Pila ST = nueva pila();
calle.push ('a'); calle.push ('b'); calle.push ('c'); calle.push ('d'); calle.push ('e');
char ch1 = st.ojeada(); char ch2 = st.ojeada(); char ch3 = st.ojeada();
char ch4 = st.ojeada(); char ch5 = st.ojeada();
Sistema.afuera.imprimir (CH1); Sistema.afuera.imprimir ("); sistema.afuera.imprimir (CH2);
Sistema.afuera.imprimir ("); sistema.afuera.imprimir (CH3); Sistema.afuera.imprimir(");
Sistema.afuera.imprimir (CH4); Sistema.afuera.imprimir ("); sistema.afuera.imprimir (ch5);
Sistema.afuera.println ();

La salida es:

E e e e e

lo que también indica que el elemento superior se copia y no se elimina por Peek ().

público booleano vacío ()

Esto devuelve verdadero si la pila está vacía y falsa de lo contrario. Ilustración:

Pila ST = nueva pila();
calle.push ('a'); calle.push ('b'); calle.push ('c'); calle.push ('d'); calle.push ('e');
booleano bl = st.vacío();
Sistema.afuera.println (bl);

La salida es falsa porque la pila, st no está vacía.

Public int Search (objeto o)

Esto devuelve el índice del objeto buscado. Si no se encuentra el objeto, -1 se devuelve. Ilustración:

Pila ST = nueva pila();
calle.push ('a'); calle.push ('b'); calle.push ('c'); calle.push ('d'); calle.push ('e');
int it1 = st.buscar ('a'); int it2 = st.buscar ('b'); int it3 = st.buscar ('c');
int it4 = st.buscar ('d'); int it5 = st.buscar ('e'); int it6 = st.búsqueda ('f');
Sistema.afuera.imprimir (IT1); Sistema.afuera.imprimir ("); sistema.afuera.imprimir (IT2);
Sistema.afuera.imprimir ("); sistema.afuera.imprimir (IT3); Sistema.afuera.imprimir(");
Sistema.afuera.imprimir (IT4); Sistema.afuera.imprimir ("); sistema.afuera.imprimir (IT5);
Sistema.afuera.imprimir ("); sistema.afuera.imprimir (it6); Sistema.afuera.imprimir(");
Sistema.afuera.println ();

La salida es:

5 4 3 2 1 -1

Conclusión de pila

La pila en Java es una estructura de datos de la última en_first-out. Tiene cinco métodos que incluyen push (), pop () y peek ().

Cola

Cola Introducción

Imagine una cola de personas en una línea, esperando un producto o servicio. La primera persona que vino es la primera en ser servida. La segunda persona es la segunda en ser atendida. El tercero es el tercero en ser servido, y así sucesivamente; Hasta que termine la cola. Este es un esquema de primer en_first-out, abreviado FIFO.

Una cola en Java es una estructura de datos FIFO. Tal estructura mantiene objetos del mismo tipo. El elemento en el primer índice es el elemento en la parte superior. Una cola debe tener al menos los siguientes tres métodos:

Enqueue: Esto agrega un nuevo elemento en la parte posterior de la cola.

Dequeue: Esto elimina el elemento en la parte delantera de la cola.

ojeada: Esto se lee, sin eliminar, el primer elemento.

En Java, la cola no tiene constructor ni seis métodos, tres de los cuales se explican a continuación:

Implementación/instancia de la cola de Java

La cola en Java es una interfaz. Java Stack Class instancia un objeto de pila mientras la interfaz de cola Java implementa una clase. Un objeto aún no se debe instanciar desde la clase. Afortunadamente, Java ya ha implementado muchas clases de la interfaz de la cola. El programador debe elegir el más apropiado para él entre los lotes. El elegido para este artículo es Linkedlist. LinkedList tiene dos constructores, pero solo uno se explicará a continuación. La clase LinkedList tiene muchos métodos, pero solo tres se explicarán a continuación.

En Java, la clase Linkedlist está en Java.utilizar.* Paquete que debe importarse.

Una sintaxis para construir una cola a partir de la clase LinkedList, es:

Public LinkedList ()

La siguiente declaración construye una cola vacía llamada, QU:

Lista enlazada qu = new LinkedList();
Algunos métodos de cola LinkedList
ADD PÚBLICO BOOLEAN (E E)

Esto agrega un elemento en la parte posterior de la cola. Ilustración:

Lista enlazada qu = new LinkedList();
dejar.Agrega un'); dejar.agregar ('b'); dejar.agregar ('c'); dejar.agregar ('d'); dejar.agregar ('e');
Public e remove ()

Esto elimina el artículo frente a la cola y lo devuelve. Ilustración:

Lista enlazada qu = new LinkedList();
dejar.Agrega un'); dejar.agregar ('b'); dejar.agregar ('c'); dejar.agregar ('d'); dejar.agregar ('e');
char ch1 = quem.eliminar(); char ch2 = quem.eliminar(); char ch3 = quem.eliminar();
char ch4 = quem.eliminar(); char ch5 = quem.eliminar();
Sistema.afuera.imprimir (CH1); Sistema.afuera.imprimir ("); sistema.afuera.imprimir (CH2);
Sistema.afuera.imprimir ("); sistema.afuera.imprimir (CH3); Sistema.afuera.imprimir(");
Sistema.afuera.imprimir (CH4); Sistema.afuera.imprimir ("); sistema.afuera.imprimir (ch5);
Sistema.afuera.println ();

La salida es:

A B C D E

Confirmando que esta es una estructura de datos FIFO.

Public E Peek ()

Esto copia sin eliminar el artículo en la parte delantera de la cola y lo devuelve. Ilustración:

Lista enlazada qu = new LinkedList();
dejar.Agrega un'); dejar.agregar ('b'); dejar.agregar ('c'); dejar.agregar ('d'); dejar.agregar ('e');
char ch1 = quem.ojeada(); char ch2 = quem.ojeada(); char ch3 = quem.ojeada();
char ch4 = quem.ojeada(); char ch5 = quem.ojeada();
Sistema.afuera.imprimir (CH1); Sistema.afuera.imprimir ("); sistema.afuera.imprimir (CH2);
Sistema.afuera.imprimir ("); sistema.afuera.imprimir (CH3); Sistema.afuera.imprimir(");
Sistema.afuera.imprimir (CH4); Sistema.afuera.imprimir ("); sistema.afuera.imprimir (ch5);
Sistema.afuera.println ();

La salida es:

A a a a a

lo que también indica que el elemento frontal se copia y no se elimina por Peek ().

Conclusión de cola

La cola en Java es una estructura de datos de primera en_first-out. Tiene muchos métodos que incluyen add (), eliminar () y peek ().

Conclusión general

La pila y la cola son estructuras de datos. La pila en Java es una estructura de datos de la última en_first-out. Tiene cinco métodos que incluyen push (), pop () y peek (). La cola en Java es una estructura de datos de primera en_first-out. Tiene muchos métodos que incluyen add (), eliminar () y peek ().