Pila e coda in java

Pila e coda in java
Questo articolo spiega lo stack e la coda in Java, a cominciare dalla classe dello stack. Lo stack è lifo e la coda è FIFO - vedi i dettagli di seguito.

Pila

Introduzione dello stack

Immagina una pila di piastre su un tavolo. Dopo che il primo è stato messo sul tavolo, quello successivo è stato messo sul primo; Il terzo è stato messo sul secondo; e così via, fino a quando non è stato raggiunto un numero soddisfacente. Per rimuovere le piastre dal tavolo, uno per uno, l'ultimo messo in cima viene rimosso per primo; Quindi l'ultimo ma uno viene rimosso successivo; Quindi quello successivo dalla parte superiore rimossa; e così via. Quindi, l'ultimo piatto da mettere sulla pila è quello da rimuovere per primo. In questo senso, tutte le piastre vengono rimosse in un ordine ultimo. L'ordine di ultimo in_first-out è abbreviato, lifo.

Uno stack in Java è una struttura di dati LIFO. Tale struttura mantiene oggetti dello stesso tipo. L'elemento al primo indice è l'elemento in alto. Uno stack dovrebbe avere almeno i seguenti tre metodi:

spingere: Questo aggiunge un nuovo elemento in cima allo stack.

pop: Questo rimuove l'elemento che è nella parte superiore dello stack.

sbirciare: Questo legge, senza rimuovere, l'elemento in alto.

In Java, la classe dello stack è nella Java.util.* pacchetto, che deve essere importato.

In Java, lo stack ha un costruttore e cinque metodi, tutti spiegati di seguito:

Costruzione di stack java

La sintassi per il costruttore di uno stack vuoto, è:

Stack pubblico ()

La seguente affermazione costruisce uno stack vuoto chiamato ST:

Pila St = nuovo stack();

Metodi di Java Stack

public e push (e articolo)

Questo aggiunge un oggetto sulla parte superiore dello stack. Illustrazione:

Pila St = nuovo stack();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');

public e pop ()

Questo rimuove l'oggetto nella parte superiore dello stack e lo restituisce. Illustrazione:

Pila St = nuovo stack();
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.fuori.stampa (CH1); Sistema.fuori.print ("); sistema.fuori.stampa (CH2);
Sistema.fuori.print ("); sistema.fuori.stampa (CH3); Sistema.fuori.stampa(");
Sistema.fuori.stampa (CH4); Sistema.fuori.print ("); sistema.fuori.stampa (CH5);
Sistema.fuori.println ();

L'output è:

E d c b a

con gli elementi rimossi nell'ordine inverso in cui sono stati spinti.

public E Peek ()

Questo copia senza rimuovere l'oggetto nella parte superiore dello stack e lo restituisce. Illustrazione:

Pila St = nuovo stack();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');
char ch1 = st.sbirciare(); char ch2 = st.sbirciare(); char ch3 = st.sbirciare();
char ch4 = st.sbirciare(); char ch5 = st.sbirciare();
Sistema.fuori.stampa (CH1); Sistema.fuori.print ("); sistema.fuori.stampa (CH2);
Sistema.fuori.print ("); sistema.fuori.stampa (CH3); Sistema.fuori.stampa(");
Sistema.fuori.stampa (CH4); Sistema.fuori.print ("); sistema.fuori.stampa (CH5);
Sistema.fuori.println ();

L'output è:

E e e e e

che indica anche che l'elemento superiore viene copiato e non rimosso da Peek ().

pubblico booleano vuoto ()

Questo restituisce vero se lo stack è vuoto e falso altrimenti. Illustrazione:

Pila St = nuovo stack();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');
booleano bl = st.vuoto();
Sistema.fuori.println (bl);

L'output è falso perché lo stack, ST non è vuoto.

public int search (oggetto O)

Questo restituisce l'indice dell'oggetto cercato. Se l'oggetto non viene trovato, -1 viene restituito. Illustrazione:

Pila St = nuovo stack();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');
int it1 = st.Search ('a'); int it2 = st.Search ('B'); int it3 = st.Search ('C');
int it4 = st.Search ('d'); int it5 = st.Search ('E'); int it6 = st.Search ('f');
Sistema.fuori.stampa (it1); Sistema.fuori.print ("); sistema.fuori.print (it2);
Sistema.fuori.print ("); sistema.fuori.stampa (it3); Sistema.fuori.stampa(");
Sistema.fuori.stampa (it4); Sistema.fuori.print ("); sistema.fuori.stampa (it5);
Sistema.fuori.print ("); sistema.fuori.stampa (it6); Sistema.fuori.stampa(");
Sistema.fuori.println ();

L'output è:

5 4 3 2 1 -1

Conclusione impila

Lo stack in Java è una struttura dati Last-In_First-Out. Ha cinque metodi che includono push (), pop () e peek ().

Coda

Coda introduzione

Immagina una fila di persone in linea, in attesa di un prodotto o servizio. La prima persona che è venuta è la prima ad essere servita. La seconda persona è la seconda da servire. Il terzo è il terzo ad essere servito, e così via; Fino alla fine della coda. Questo è uno schema First-In_First-Out, Abbreviate FIFO.

Una coda in Java è una struttura di dati FIFO. Tale struttura mantiene oggetti dello stesso tipo. L'elemento al primo indice è l'elemento in alto. Una coda dovrebbe avere almeno i seguenti tre metodi:

accodare: Questo aggiunge un nuovo elemento sul retro della coda.

Dequeue: Questo rimuove l'elemento nella parte anteriore della coda.

sbirciare: Questo legge, senza rimuovere, il primo elemento.

In Java, la coda non ha costruttori e sei metodi, tre dei quali sono spiegati di seguito:

Implementazione/istanza della coda Java

La coda in Java è un'interfaccia. La classe Java Stack istanzia un oggetto stack mentre l'interfaccia di coda Java implementa una classe. Un oggetto deve ancora essere istanziato dalla classe. Fortunatamente, Java ha già implementato molte classi dall'interfaccia della coda. Il programmatore dovrebbe scegliere quello più appropriato per lui tra il lotto. Quello scelto per questo articolo è LinkedList. LinkedList ha due costruttori, ma solo uno verrà spiegato di seguito. La classe Linkedlist ha molti metodi, ma solo tre saranno spiegati di seguito.

In Java, la classe Linkedlist è nella Java.util.* pacchetto che deve essere importato.

Una sintassi per costruire una coda dalla classe Linkedlist, è:

public LinkedList ()

La seguente istruzione costruisce una coda vuota chiamata, qu:

Lista collegata qu = new LinkedList();
Alcuni metodi di coda Linkedlist
Public Boolean Add (e e)

Questo aggiunge un elemento sul retro della coda. Illustrazione:

Lista collegata qu = new LinkedList();
qu.aggiungere un'); qu.Aggiungi ('b'); qu.Aggiungi ('c'); qu.Aggiungi ('d'); qu.Aggiungi ('E');
public e remove ()

Questo rimuove l'oggetto davanti alla coda e lo restituisce. Illustrazione:

Lista collegata qu = new LinkedList();
qu.aggiungere un'); qu.Aggiungi ('b'); qu.Aggiungi ('c'); qu.Aggiungi ('d'); qu.Aggiungi ('E');
char ch1 = qu.rimuovere(); char ch2 = qu.rimuovere(); char ch3 = qu.rimuovere();
char ch4 = qu.rimuovere(); char ch5 = qu.rimuovere();
Sistema.fuori.stampa (CH1); Sistema.fuori.print ("); sistema.fuori.stampa (CH2);
Sistema.fuori.print ("); sistema.fuori.stampa (CH3); Sistema.fuori.stampa(");
Sistema.fuori.stampa (CH4); Sistema.fuori.print ("); sistema.fuori.stampa (CH5);
Sistema.fuori.println ();

L'output è:

A b c d e

confermando che si tratta di una struttura dati FIFO.

public E Peek ()

Questo copia senza rimuovere l'oggetto nella parte anteriore della coda e lo restituisce. Illustrazione:

Lista collegata qu = new LinkedList();
qu.aggiungere un'); qu.Aggiungi ('b'); qu.Aggiungi ('c'); qu.Aggiungi ('d'); qu.Aggiungi ('E');
char ch1 = qu.sbirciare(); char ch2 = qu.sbirciare(); char ch3 = qu.sbirciare();
char ch4 = qu.sbirciare(); char ch5 = qu.sbirciare();
Sistema.fuori.stampa (CH1); Sistema.fuori.print ("); sistema.fuori.stampa (CH2);
Sistema.fuori.print ("); sistema.fuori.stampa (CH3); Sistema.fuori.stampa(");
Sistema.fuori.stampa (CH4); Sistema.fuori.print ("); sistema.fuori.stampa (CH5);
Sistema.fuori.println ();

L'output è:

A a a a

che indica anche che l'elemento anteriore viene copiato e non rimosso da Peek ().

Conclusione in coda

La coda in java è una struttura di dati First-In_First-Out. Ha molti metodi che includono add (), rimozione () e peek ().

Conclusione generale

Lo stack e la coda sono strutture di dati. Lo stack in Java è una struttura dati Last-In_First-Out. Ha cinque metodi che includono push (), pop () e peek (). La coda in java è una struttura di dati First-In_First-Out. Ha molti metodi che includono add (), rimozione () e peek ().