Stapel und Warteschlange in Java

Stapel und Warteschlange in Java
Dieser Artikel erklärt Stack und Warteschlange in Java, beginnend mit der Stack -Klasse. Stack ist LIFO und Warteschlange ist FIFO - siehe Details unten.

Stapel

Stapeleinführung

Stellen Sie sich einen Stapel Teller auf einem Tisch vor. Nachdem der erste auf den Tisch gelegt worden war, wurde der nächste auf den ersten gelegt; Der dritte wurde in den zweiten gestellt; und so weiter, bis eine zufriedenstellende Zahl erreicht wurde. Um die Platten aus dem Tisch zu entfernen, wird der letzte, der oben auf die Oberseite gesetzt wird, zuerst entfernt. Dann wird der letzte, aber eins als nächstes entfernt; dann der nächste von oben entfernt; usw. Die letzte Platte, die auf den Stapel gelegt wird, ist derjenige, der zuerst entfernt wird. In diesem Sinne werden alle Platten in einer letzten Reihenfolge der letzten In-In-I-First entfernt. Last-in_First-Out-Bestellung wird abgekürzt, LIFO.

Ein Stapel in Java ist eine LIFO -Datenstruktur. Eine solche Struktur hält Objekte vom gleichen Typ. Das Element im ersten Index ist das Element oben. Ein Stapel sollte mindestens die folgenden drei Methoden haben:

drücken: Dies fügt ein neues Element über dem Stapel hinzu.

Pop: Dies entfernt das Element, das oben am Stapel steht.

spähen: Dies liest sich das Element oben vor, ohne zu entfernen.

In Java befindet sich die Stack -Klasse in der Java.Util.* Paket, das importiert werden muss.

In Java hat der Stack einen Konstruktor und fünf Methoden, die alle unten erklärt werden:

Java Stack Construction

Die Syntax für den Konstruktor eines leeren Stapels lautet:

öffentlicher Stack ()

Die folgende Anweisung erstellt einen leeren Stapel namens ST:

Stapel ST = neuer Stack();

Methoden des Java -Stacks

öffentlich e push (e Artikel)

Dies fügt einen Artikel auf die Oberseite des Stapels hinzu. Illustration:

Stapel ST = neuer Stack();
st.pushen ('a'); st.Push ('B'); st.Push ('C'); st.Push ('D'); st.Push ('e');

öffentlich e pop ()

Dadurch wird der Artikel oben im Stapel entfernt und gibt ihn zurück. Illustration:

Stapel ST = neuer Stack();
st.pushen ('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.aus.print (ch1); System.aus.print ("); System.aus.print (ch2);
System.aus.print ("); System.aus.print (ch3); System.aus.drucken(");
System.aus.print (ch4); System.aus.print ("); System.aus.Druck (CH5);
System.aus.println ();

Die Ausgabe ist:

E d c b a

mit Gegenständen in umgekehrter Reihenfolge, in der sie eingedrückt wurden.

öffentlich e peek ()

Dies kopiert aus, ohne den Artikel oben im Stapel zu entfernen, und gibt ihn zurück. Illustration:

Stapel ST = neuer Stack();
st.pushen ('a'); st.Push ('B'); st.Push ('C'); st.Push ('D'); st.Push ('e');
char ch1 = st.spähen(); char ch2 = st.spähen(); char ch3 = st.spähen();
char ch4 = st.spähen(); char ch5 = st.spähen();
System.aus.print (ch1); System.aus.print ("); System.aus.print (ch2);
System.aus.print ("); System.aus.print (ch3); System.aus.drucken(");
System.aus.print (ch4); System.aus.print ("); System.aus.Druck (CH5);
System.aus.println ();

Die Ausgabe ist:

E e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e

Dies zeigt auch, dass das obere Element kopiert und nicht von Peek () kopiert und nicht entfernt wird).

öffentlich boolean leer ()

Dies gibt wahr zurück, wenn der Stapel leer und ansonsten falsch ist. Illustration:

Stapel ST = neuer Stack();
st.pushen ('a'); st.Push ('B'); st.Push ('C'); st.Push ('D'); st.Push ('e');
boolean BL = st.leer();
System.aus.println (bl);

Die Ausgabe ist falsch, weil der Stapel, ST nicht leer ist.

öffentliche Int -Suche (Objekt O)

Dies gibt den Index des durchsuchten Objekts zurück. Wenn das Objekt nicht gefunden wird, wird -1 zurückgegeben. Illustration:

Stapel ST = neuer Stack();
st.pushen ('a'); st.Push ('B'); st.Push ('C'); st.Push ('D'); st.Push ('e');
int it1 = st.Suche ('a'); int it2 = st.Suche ('B'); int it3 = st.Suche ('C');
int it4 = st.Suche ('D'); int it5 = st.Suche ('e'); int it6 = st.Suche ('f');
System.aus.print (it1); System.aus.print ("); System.aus.print (it2);
System.aus.print ("); System.aus.print (it3); System.aus.drucken(");
System.aus.print (it4); System.aus.print ("); System.aus.print (it5);
System.aus.print ("); System.aus.print (it6); System.aus.drucken(");
System.aus.println ();

Die Ausgabe ist:

5 4 3 2 1 -1

Stack -Schlussfolgerung

Der Stapel in Java ist eine letzte Datenstruktur in den. Es verfügt über fünf Methoden, darunter Push (), Pop () und Peek ().

Warteschlange

Warteschlange Einführung

Stellen Sie sich eine Warteschlange von Menschen in einer Linie vor, die auf ein Produkt oder eine Dienstleistung warten. Die erste Person, die kam. Die zweite Person ist die zweite, die bedient wird. Der dritte ist der dritte, der serviert wird, und so weiter; Bis die Warteschlange fertig ist. Dies ist ein erstes in_first-out-Schema, abgekürztes FIFO.

Eine Warteschlange in Java ist eine FIFO -Datenstruktur. Eine solche Struktur hält Objekte vom gleichen Typ. Das Element am ersten Index ist das Element oben. Eine Warteschlange sollte mindestens die folgenden drei Methoden haben:

Enqueue: Dies fügt ein neues Element auf der Rückseite der Warteschlange hinzu.

Dequeue: Dies entfernt das Element an der Vorderseite der Warteschlange.

spähen: Dies liest sich das erste Element vor, ohne zu entfernen.

In Java hat die Warteschlange keinen Konstruktor und sechs Methoden, von denen drei unten erklärt werden:

Implementierung/Instanziierung von Java -Warteschlangen

Die Warteschlange in Java ist eine Schnittstelle. Java Stack Class instanziiert ein Stapelobjekt, während die Java -Warteschlangenschnittstelle eine Klasse implementiert. Ein Objekt muss noch aus der Klasse instanziiert werden. Glücklicherweise hat Java bereits viele Klassen aus der Warteschlangenschnittstelle implementiert. Der Programmierer sollte den am besten geeigneten für ihn unter dem Los wählen. Die für diesen Artikel ausgewählte LinkedList ist die Linkedlist. Die LinkedList hat zwei Konstruktoren, aber nur eine wird unten erklärt. Die LinkedList -Klasse hat viele Methoden, aber nur drei werden unten erläutert.

In Java befindet sich die LinkedList -Klasse in der Java.Util.* Paket, das importiert werden muss.

Eine Syntax, um eine Warteschlange aus der LinkedList -Klasse zu konstruieren, lautet:

Public LinkedList ()

Die folgende Anweisung erstellt eine leere Warteschlange mit dem Titel "Queue", Qu:

LinkedList qu = new LinkedList();
Einige Methoden der LinkedList -Warteschlange
öffentlicher Boolescher Add (e e)

Dies fügt einen Artikel auf der Rückseite der Warteschlange hinzu. Illustration:

LinkedList qu = new LinkedList();
Qu.füge hinzu ein'); Qu.add ('b'); Qu.add ('c'); Qu.add ('d'); Qu.add ('e');
öffentlich e entfernen ()

Dadurch wird der Gegenstand vor der Warteschlange entfernt und gibt ihn zurück. Illustration:

LinkedList qu = new LinkedList();
Qu.füge hinzu ein'); Qu.add ('b'); Qu.add ('c'); Qu.add ('d'); Qu.add ('e');
char ch1 = qu.entfernen(); char ch2 = qu.entfernen(); char ch3 = qu.entfernen();
char ch4 = qu.entfernen(); char ch5 = qu.entfernen();
System.aus.print (ch1); System.aus.print ("); System.aus.print (ch2);
System.aus.print ("); System.aus.print (ch3); System.aus.drucken(");
System.aus.print (ch4); System.aus.print ("); System.aus.Druck (CH5);
System.aus.println ();

Die Ausgabe ist:

A b c d e

bestätigen, dass dies eine FIFO -Datenstruktur ist.

öffentlich e peek ()

Dies kopiert aus, ohne den Gegenstand an der Vorderseite der Warteschlange zu entfernen, und gibt es zurück. Illustration:

LinkedList qu = new LinkedList();
Qu.füge hinzu ein'); Qu.add ('b'); Qu.add ('c'); Qu.add ('d'); Qu.add ('e');
char ch1 = qu.spähen(); char ch2 = qu.spähen(); char ch3 = qu.spähen();
char ch4 = qu.spähen(); char ch5 = qu.spähen();
System.aus.print (ch1); System.aus.print ("); System.aus.print (ch2);
System.aus.print ("); System.aus.print (ch3); System.aus.drucken(");
System.aus.print (ch4); System.aus.print ("); System.aus.Druck (CH5);
System.aus.println ();

Die Ausgabe ist:

A a a a a

Dies zeigt auch, dass das Frontelement von Peek () kopiert und nicht entfernt wird und nicht entfernt wird).

Warteschließabschluss

Die Warteschlange in Java ist eine erste Datenstruktur für die Erst-in-in-Out-Out. Es verfügt über viele Methoden, die add (), remove () und peek () umfassen.

Allgemeine Schlussfolgerung

Der Stack und die Warteschlange sind Datenstrukturen. Der Stapel in Java ist eine letzte Datenstruktur in den. Es verfügt über fünf Methoden, darunter Push (), Pop () und Peek (). Die Warteschlange in Java ist eine erste Datenstruktur für die Erst-in-in-Out-Out. Es verfügt über viele Methoden, die add (), remove () und peek () umfassen.