Stabel og kø i Java

Stabel og kø i Java
Denne artikkelen forklarer stabel og kø i Java, som begynner med stabelklassen. Stack er LIFO og køen er FIFO - se detaljer nedenfor.

Stable

Stack Introduksjon

Se for deg en bunke med tallerkener på et bord. Etter at den første ble lagt på bordet, ble den neste satt på den første; Den tredje ble satt på den andre; og så videre, inntil et tilfredsstillende antall ble oppnådd. For å fjerne platene fra bordet, en-for-en, fjernes den siste på toppen først; Deretter fjernes den siste-men-en neste; Så den som er ved siden av toppen av toppen; og så videre. Så den siste platen som skal settes på haugen er den som først blir fjernet. I den forstand fjernes alle platene i en siste-in_first-out-ordre. Siste-in_first-out-ordren er forkortet, LIFO.

En stabel i Java er en LIFO -datastruktur. En slik struktur holder objekter av samme type. Elementet ved den første indeksen er elementet på toppen. En stabel skal ha minst de følgende tre metodene:

trykk: Dette legger til et nytt element på toppen av stabelen.

pop: Dette fjerner elementet som er øverst på stabelen.

Peek: Dette leser ut, uten å fjerne elementet på toppen.

I Java er stabelklassen i Java.util.* pakke, som må importeres.

I Java har stabelen en konstruktør og fem metoder, som alle er forklart nedenfor:

Java Stack Construction

Syntaksen for konstruktøren av en tom stabel, er:

offentlig stabel ()

Følgende uttalelse konstruerer en tom stabel kalt ST:

Stable ST = ny stabel();

Metoder for Java Stack

public e Push (E -element)

Dette legger til et element på toppen av stabelen. Illustrasjon:

Stable ST = ny stabel();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');

public e pop ()

Dette fjerner varen øverst på stabelen og returnerer den. Illustrasjon:

Stable ST = ny stabel();
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 ();
System.ute.trykk (CH1); System.ute.print ("); system.ute.trykk (CH2);
System.ute.print ("); system.ute.trykk (CH3); System.ute.skrive ut(");
System.ute.trykk (CH4); System.ute.print ("); system.ute.trykk (CH5);
System.ute.println ();

Utgangen er:

E D C B A

med gjenstander fjernet i omvendt rekkefølge de ble dyttet inn.

public e Peek ()

Dette kopierer ut uten å fjerne varen øverst i stabelen og returnerer den. Illustrasjon:

Stable ST = ny stabel();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');
char ch1 = st.Peek (); char ch2 = st.Peek (); char ch3 = st.Peek ();
char ch4 = st.Peek (); Char CH5 = ST.Peek ();
System.ute.trykk (CH1); System.ute.print ("); system.ute.trykk (CH2);
System.ute.print ("); system.ute.trykk (CH3); System.ute.skrive ut(");
System.ute.trykk (CH4); System.ute.print ("); system.ute.trykk (CH5);
System.ute.println ();

Utgangen er:

E e e e e e

som også indikerer at det øverste elementet er kopiert og ikke fjernet av PEEK ().

Offentlig boolsk tom ()

Dette returnerer sant hvis stabelen er tom, og usant ellers. Illustrasjon:

Stable ST = ny stabel();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');
boolsk BL = ST.tømme();
System.ute.println (BL);

Utgangen er falsk fordi stabelen, ST ikke er tom.

Offentlig int -søk (objekt O)

Dette returnerer indeksen til objektet som er søkt. Hvis objektet ikke blir funnet, returneres -1. Illustrasjon:

Stable ST = ny stabel();
st.push ('a'); st.push ('b'); st.push ('c'); st.push ('d'); st.push ('e');
int it1 = st.søk ('a'); int it2 = st.søk ('b'); int it3 = st.søk ('c');
int it4 = st.søk ('d'); int it5 = st.søk ('e'); int it6 = st.søk ('f');
System.ute.print (it1); System.ute.print ("); system.ute.trykk (IT2);
System.ute.print ("); system.ute.trykk (IT3); System.ute.skrive ut(");
System.ute.trykk (IT4); System.ute.print ("); system.ute.trykk (IT5);
System.ute.print ("); system.ute.trykk (IT6); System.ute.skrive ut(");
System.ute.println ();

Utgangen er:

5 4 3 2 1 -1

Stack konklusjon

Stabelen i Java er en siste-in_first-out datastruktur. Den har fem metoder som inkluderer push (), pop () og kikk ().

Introduksjon

Se for deg en kø av mennesker i en linje, og venter på et produkt eller en tjeneste. Den første personen som kom er den første som ble servert. Den andre personen er den andre som blir servert. Den tredje er den tredje som blir servert, og så videre; til køen er ferdig. Dette er et første-in_first-out-ordning, forkortet FIFO.

En kø i Java er en FIFO -datastruktur. En slik struktur holder objekter av samme type. Elementet ved den første indeksen er elementet øverst. En kø skal ha minst følgende tre metoder:

enqueue: Dette legger til et nytt element på baksiden av køen.

Dequeue: Dette fjerner elementet foran i køen.

Peek: Dette leser ut, uten å fjerne det første elementet.

I Java har køen ingen konstruktør og seks metoder, hvorav tre er forklart nedenfor:

Java -kø implementering/instantiering

Køen i Java er et grensesnitt. Java Stack -klasse instantierer et stabelobjekt mens Java -køgrensesnitt implementerer en klasse. Et objekt skal fremdeles bli instantiert fra klassen. Heldigvis har Java allerede implementert mange klasser fra køgrensesnittet. Programmereren skal velge den som er mest passende for ham blant partiet. Den som er valgt for denne artikkelen er LinkedList. LinkedList har to konstruktører, men bare en vil bli forklart nedenfor. LinkedList -klassen har mange metoder, men bare tre vil bli forklart nedenfor.

I Java er LinkedList -klassen i Java.util.* pakke som må importeres.

En syntaks for å konstruere en kø fra LinkedList -klassen, er:

public LinkedList ()

Følgende uttalelse konstruerer en tom kø kalt, qu:

LinkedList qu = ny LinkedList();
Noen metoder for LinkedList -kø
Offentlig boolsk add (e e)

Dette legger til en vare på baksiden av køen. Illustrasjon:

LinkedList qu = ny LinkedList();
Qu.Legg til en'); Qu.legg til ('b'); Qu.Legg til ('C'); Qu.legg til ('d'); Qu.legg til ('e');
offentlig e fjerne ()

Dette fjerner varen foran køen, og returnerer den. Illustrasjon:

LinkedList qu = ny LinkedList();
Qu.Legg til en'); Qu.legg til ('b'); Qu.Legg til ('C'); Qu.legg til ('d'); Qu.legg til ('e');
char ch1 = qu.fjerne(); char ch2 = qu.fjerne(); char ch3 = qu.fjerne();
char ch4 = qu.fjerne(); char ch5 = qu.fjerne();
System.ute.trykk (CH1); System.ute.print ("); system.ute.trykk (CH2);
System.ute.print ("); system.ute.trykk (CH3); System.ute.skrive ut(");
System.ute.trykk (CH4); System.ute.print ("); system.ute.trykk (CH5);
System.ute.println ();

Utgangen er:

A B C D E

bekrefter at dette er en FIFO -datastruktur.

public e Peek ()

Dette kopierer ut uten å fjerne varen foran i køen og returnerer den. Illustrasjon:

LinkedList qu = ny LinkedList();
Qu.Legg til en'); Qu.legg til ('b'); Qu.Legg til ('C'); Qu.legg til ('d'); Qu.legg til ('e');
char ch1 = qu.Peek (); char ch2 = qu.Peek (); char ch3 = qu.Peek ();
char ch4 = qu.Peek (); char ch5 = qu.Peek ();
System.ute.trykk (CH1); System.ute.print ("); system.ute.trykk (CH2);
System.ute.print ("); system.ute.trykk (CH3); System.ute.skrive ut(");
System.ute.trykk (CH4); System.ute.print ("); system.ute.trykk (CH5);
System.ute.println ();

Utgangen er:

A a a a a a

som også indikerer at frontelementet er kopiert og ikke fjernet ved PEEK ().

Køskonklusjon

Køen i Java er en første-in_first-out datastruktur. Den har mange metoder som inkluderer ADD (), Fjern () og Peek ().

Generell konklusjon

Stabelen og køen er datastrukturer. Stabelen i Java er en siste-in_first-out datastruktur. Den har fem metoder som inkluderer push (), pop () og kikk (). Køen i Java er en første-in_first-out datastruktur. Den har mange metoder som inkluderer ADD (), Fjern () og Peek ().