Pilha e fila em java

Pilha e fila em java
Este artigo explica a pilha e a fila em Java, começando com a aula de pilha. A pilha é Lifo e a fila é FIFO - veja detalhes abaixo.

Pilha

Introdução da pilha

Imagine uma pilha de pratos em uma mesa. Depois que o primeiro foi colocado sobre a mesa, o próximo foi colocado no primeiro; O terceiro foi colocado no segundo; E assim por diante, até que um número satisfatório fosse atingido. Para remover as placas da tabela, uma a uma, a última colocada na parte superior é removida primeiro; Então o último, mas um é removido a seguir; então o próximo da parte superior removido; e assim por diante. Então, a última placa a ser colocada na pilha é a a ser removida primeiro. Nesse sentido, todas as placas são removidas em uma ordem última em. Last-in_first-Out Ordem é abreviado, Lifo.

Uma pilha em Java é uma estrutura de dados LIFO. Essa estrutura mantém objetos do mesmo tipo. O elemento no primeiro índice é o elemento no topo. Uma pilha deve ter pelo menos os três métodos a seguir:

empurrar: Isso adiciona um novo elemento no topo da pilha.

POP: Isso remove o elemento que está no topo da pilha.

olhadinha: Isso diz, sem remover, o elemento no topo.

Em Java, a aula de pilha está no java.util.* pacote, que deve ser importado.

Em Java, a pilha possui um construtor e cinco métodos, todos explicados abaixo:

Construção de pilha Java

A sintaxe para o construtor de uma pilha vazia é:

pilha pública ()

A declaração a seguir constrói uma pilha vazia chamada ST:

Pilha ST = nova pilha();

Métodos de pilha Java

public e push (item e item)

Isso adiciona um item na parte superior da pilha. Ilustração:

Pilha ST = nova pilha();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');

public e pop ()

Isso remove o item no topo da pilha e o retorna. Ilustração:

Pilha ST = nova pilha();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');
char ch1 = st.pop (); char ch2 = st.pop (); char ch3 = st.pop ();
char ch4 = st.pop (); char ch5 = st.pop ();
Sistema.fora.impressão (CH1); Sistema.fora.print ("); sistema.fora.impressão (CH2);
Sistema.fora.print ("); sistema.fora.impressão (CH3); Sistema.fora.imprimir(");
Sistema.fora.impressão (CH4); Sistema.fora.print ("); sistema.fora.impressão (CH5);
Sistema.fora.println ();

A saída é:

E D C B A

com itens removidos na ordem inversa em que foram empurrados.

Public E Peek ()

Isso copia sem remover o item no topo da pilha e o devolve. Ilustração:

Pilha ST = nova pilha();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');
char ch1 = st.olhadinha(); char ch2 = st.olhadinha(); char ch3 = st.olhadinha();
char ch4 = st.olhadinha(); char ch5 = st.olhadinha();
Sistema.fora.impressão (CH1); Sistema.fora.print ("); sistema.fora.impressão (CH2);
Sistema.fora.print ("); sistema.fora.impressão (CH3); Sistema.fora.imprimir(");
Sistema.fora.impressão (CH4); Sistema.fora.print ("); sistema.fora.impressão (CH5);
Sistema.fora.println ();

A saída é:

E e e e e

que também indica que o elemento superior é copiado e não é removido por Peek ().

public boolean vazio ()

Isso retorna verdadeiro se a pilha estiver vazia e falsa caso contrário. Ilustração:

Pilha ST = nova pilha();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');
booleano bl = st.vazio();
Sistema.fora.println (bl);

A saída é falsa porque a pilha, ST não está vazia.

Public Int Search (Objeto O)

Isso retorna o índice do objeto pesquisado. Se o objeto não for encontrado, -1 será devolvido. Ilustração:

Pilha ST = nova pilha();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');
int it1 = st.pesquisa ('a'); int it2 = st.pesquisa ('b'); int it3 = st.pesquisa ('c');
int it4 = st.pesquisa ('d'); int it5 = st.pesquisa ('e'); int it6 = st.pesquisa ('f');
Sistema.fora.impressão (it1); Sistema.fora.print ("); sistema.fora.impressão (it2);
Sistema.fora.print ("); sistema.fora.impressão (it3); Sistema.fora.imprimir(");
Sistema.fora.impressão (it4); Sistema.fora.print ("); sistema.fora.impressão (it5);
Sistema.fora.print ("); sistema.fora.impressão (it6); Sistema.fora.imprimir(");
Sistema.fora.println ();

A saída é:

5 4 3 2 1 -1

Conclusão de pilha

A pilha em Java é uma estrutura de dados mais in_first-out. Possui cinco métodos que incluem push (), pop () e peek ().

Fila

Fila Introdução

Imagine uma fila de pessoas em uma linha, esperando por um produto ou serviço. A primeira pessoa que veio é a primeira a ser servida. A segunda pessoa é a segunda a ser servida. O terceiro é o terceiro a ser servido, e assim por diante; Até a fila terminar. Este é um esquema de primeira vez na primeira saída, abreviado FIFO.

Uma fila em Java é uma estrutura de dados FIFO. Essa estrutura mantém objetos do mesmo tipo. O elemento no primeiro índice é o elemento no topo. Uma fila deve ter pelo menos os três métodos a seguir:

enquadre: Isso adiciona um novo elemento na parte de trás da fila.

Dequeue: Isso remove o elemento na frente da fila.

olhadinha: Isso lê, sem remover, o primeiro elemento.

Em Java, a fila não possui construtor e seis métodos, três dos quais são explicados abaixo:

Implementação/instanciação da fila java

A fila em Java é uma interface. Java Stack Class instancia um objeto de pilha enquanto a interface da fila java implementa uma classe. Um objeto ainda está para ser instanciado da classe. Felizmente, Java já implementou muitas classes da interface da fila. O programador deve escolher o mais apropriado para ele entre os lote. O escolhido para este artigo é LinkedList. O LinkedList tem dois construtores, mas apenas um será explicado abaixo. A classe LinkedList tem muitos métodos, mas apenas três serão explicados abaixo.

Em Java, a classe LinkedList está no Java.util.* pacote que deve ser importado.

Uma sintaxe para construir uma fila da classe LinkedList é:

Public LinkedList ()

A declaração a seguir constrói uma fila vazia chamada, qu:

LinkedList qu = new LinkedList();
Alguns métodos de fila da LinkedList
public boolean add (e e)

Isso adiciona um item na parte de trás da fila. Ilustração:

LinkedList qu = new LinkedList();
Qu.add ('a'); Qu.add ('b'); Qu.add ('c'); Qu.add ('d'); Qu.add ('e');
public e remover ()

Isso remove o item na frente da fila e o devolve. Ilustração:

LinkedList qu = new LinkedList();
Qu.add ('a'); Qu.add ('b'); Qu.add ('c'); Qu.add ('d'); Qu.add ('e');
char ch1 = qu.remover(); CHAR CH2 = Q.remover(); char ch3 = qu.remover();
CHAR CH4 = Q.remover(); char ch5 = qu.remover();
Sistema.fora.impressão (CH1); Sistema.fora.print ("); sistema.fora.impressão (CH2);
Sistema.fora.print ("); sistema.fora.impressão (CH3); Sistema.fora.imprimir(");
Sistema.fora.impressão (CH4); Sistema.fora.print ("); sistema.fora.impressão (CH5);
Sistema.fora.println ();

A saída é:

A B C D E

confirmando que esta é uma estrutura de dados FIFO.

Public E Peek ()

Isso copia sem remover o item na frente da fila e o devolve. Ilustração:

LinkedList qu = new LinkedList();
Qu.add ('a'); Qu.add ('b'); Qu.add ('c'); Qu.add ('d'); Qu.add ('e');
char ch1 = qu.olhadinha(); CHAR CH2 = Q.olhadinha(); char ch3 = qu.olhadinha();
CHAR CH4 = Q.olhadinha(); char ch5 = qu.olhadinha();
Sistema.fora.impressão (CH1); Sistema.fora.print ("); sistema.fora.impressão (CH2);
Sistema.fora.print ("); sistema.fora.impressão (CH3); Sistema.fora.imprimir(");
Sistema.fora.impressão (CH4); Sistema.fora.print ("); sistema.fora.impressão (CH5);
Sistema.fora.println ();

A saída é:

A A A A

que também indica que o elemento frontal é copiado e não é removido por Peek ().

Conclusão da fila

A fila em Java é uma estrutura de dados de primeira vez na primeira saída. Possui muitos métodos que incluem Add (), Remow () e Peek ().

Conclusão geral

A pilha e a fila são estruturas de dados. A pilha em Java é uma estrutura de dados mais in_first-out. Possui cinco métodos que incluem push (), pop () e peek (). A fila em Java é uma estrutura de dados de primeira vez na primeira saída. Possui muitos métodos que incluem Add (), Remow () e Peek ().