Queue vs. Stack

DanielaLima

Mitglied
Hallo miteinander :)

ich hab hier eine Frage aus einer Programmieren-Probeklausur.
Kann mir bitte jemand die Frage erklären. Was müsste eurer Meinung hier gemacht werden. Was ist mit Queue nachbilden gemeint?

und... wie würdet ihr "erläutern"(zweiter teil). also mit code, zeichnung, einen text schreiben? oder was denkt ihr wird hie erwartet.


"Lässt sich das Verhalten einer Queue (Warteschlange) durch Stacks nachbilden? Falls ja, erläutern Sie, wie Sie einen FIFO-Container für 10 Elemente nachbilden würden. "



danke schonmal :)))

LG
 

httpdigest

Top Contributor
Naja, ein Stack ist eine LIFO-Datenstruktur (LIFO = Last In, First Out). Das bedeutet, dass ein paar Paare der üblichen push() und pop() Operationen immer auf demselben Element arbeitet. LIFO heißt dann auch: Das letzte Element, was du in den Stack eingefügt hast (push()), wird das erste Element sein, was du auch wieder rausholen kannst (pop()).
Eine Queue ist FIFO (First In, First Out), das heißt, das erste Element, was du in eine Queue einfügst, ist auch das erste, was du dort wieder herausholen kannst.
Du sollst jetzt eine Lösung angeben (vermutlich mit Code), die eine FIFO-Struktur mit Hilfe einer LIFO-Struktur realisiert. Hier kannst du wahrscheinlich einfach nur von dem Vorhandensein der LIFO-Operationen "push()" und "pop()" ausgehen.
 

mihe7

Top Contributor
"Lässt sich das Verhalten einer Queue (Warteschlange) durch Stacks nachbilden? Falls ja, erläutern Sie, wie Sie einen FIFO-Container für 10 Elemente nachbilden würden. "
Um das mal bildlich zu beschreiben: stell Dir vor, Du hast einen Stapel Papier. Der Stapel soll wie ein Stack funktionieren, d. h. Du kannst ein neues Blatt nur oben auf den Stapel legen und auch immer nur das oberste Blatt vom Stapel entfernen.

Frage: ist es möglich,
a) an das unterste Blatt Papier zu kommen
b) und zwar so, dass die restlichen Blätter in der ursprünglichen Reihenfolge wieder auf einem Stapel liegen?

Wenn ja, wie?
 

DanielaLima

Mitglied
ich würde jetzt behaupten, dass es geht, aber sehr umständlich ist.,
spricht. ich müsste erst alle blätter in einen anderen stapel "verschieben"
und dann wieder zurückdamit. heißt, ich bräuchte insgesamt also zwei stapel statt nur einem für diese aufgabe, richtig?
wie ich das als code umsetze, weiss ich allerdings noch nicht , aber das kommt auch noch
 
X

Xyz1

Gast
Nehmen wir mal 3 Elem an... Aufgepasst - jetzt kommt eine Hammer Grafik:
Code:
a
b
c      <- unterstes Element
- - -

b
c a
- - -

  b
c a
- - -

  c
  b
  a
- - -

  b
  a c
- - -

b a c
- - -

a
b   c
- - -
 

mihe7

Top Contributor
ich würde jetzt behaupten, dass es geht, aber sehr umständlich ist.,
Ja, das war auch nur zum warm werden die Variante, die den Ausgangsstapel unverändert lässt :)

Du kannst Dir jetzt überlegen, dass die beiden Stapel zwei unterschiedliche Reihenfolgen haben: der erste Stapel ist in Stapelreihenfolge, der zweite in Queue-Reihenfolge.

Geht es um die Ausgabe brauchst Du die Queue-Reihenfolge. Für das Einfügen bietet sich dagegen die Stapel-Reihenfolge an.

Und (nicht nur) bei solchen Sachen: immer visualisieren.

Fügen wir mal a, b, c in die "Queue" ein, dann sieht der Stapel so aus wie der erste Stapel von @Tobias-nrw.

Code:
c
b
a
Du kannst hier also wunderbar in die Queue einfügen, weil einfach nur "hinten" angefügt wird.

Willst Du jetzt ein Element in Queue-Reihenfolge haben, legst Du die Elemente auf den Hilfsstapel:
Code:
.  a
.  b
.  c
Das oberste Element ist dann das erste Element in der Queue. Das nächste Element wäre dann das zweite Element der Queue usw. So lange Du also ein Element in Queue-Reihenfolge anforderst, kannst Du über den Hilfsstapel gehen.

Sagen wir mal, wir nehmen nun das erste Elemente aus der Queue:
Code:
.  .
.  b
.  c

Wenn Du jetzt wieder ein Element zur Queue hinzufügen sollst: Elemente wieder zurück auf den anderen Stapel.
Code:
.  .
c .
b .
Dann einfügen, sagen wir mal ein "d":
Code:
d  .
c .
b .
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Zahlenfolge von Queue in Stack Java Basics - Anfänger-Themen 29
G Stack und Queue Arbeitsblatt Java Basics - Anfänger-Themen 3
J Liste,Queue,Stack sortieren Java Basics - Anfänger-Themen 2
C Stack und Queue in Aktion (Bitte Hilfe für die Klausur) Java Basics - Anfänger-Themen 7
E Stack vs Queue - Gemeinsamkeiten / Unterschiede Java Basics - Anfänger-Themen 7
B Queue mit Daten aus einem Stack füllen Java Basics - Anfänger-Themen 21
kulturfenster Stack / Queue Implementationen Java Basics - Anfänger-Themen 11
H Stack und Queue Java Basics - Anfänger-Themen 6
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Vererbung Queue bestehend aus Superclass- und Subclass-Objekten Java Basics - Anfänger-Themen 7
J Java Queue mit default Werten erstellen Java Basics - Anfänger-Themen 4
P Priority Queue Performance Java Basics - Anfänger-Themen 3
Chabub Hilfe bei Stacks und Queue Java Basics - Anfänger-Themen 2
F Queue zyklisch Java Basics - Anfänger-Themen 8
L Queue mithilfe von 2 Stacks erstellen Java Basics - Anfänger-Themen 1
B Automatisierung von Jobs / @EJB Scheduler / Verhinderung, dass Queue überläuft Java Basics - Anfänger-Themen 2
A Priority Queue / Comparator Java Basics - Anfänger-Themen 6
J Queue Warteschlange Java Basics - Anfänger-Themen 3
Y Unendlicher Ringbuffer (Queue) Java Basics - Anfänger-Themen 49
H Collections StackOverflowError in einer Queue Java Basics - Anfänger-Themen 3
R Klassen Die lineare Datenstruktur Queue Java Basics - Anfänger-Themen 3
JokerBlacky Klassen Klasse Queue Klasse mit Attributen anhängen und auslesen können Java Basics - Anfänger-Themen 4
K Queue enq Fehler Java Basics - Anfänger-Themen 2
F Thread der auf eine Queue wartet, sicher beenden Java Basics - Anfänger-Themen 4
A Queue (Array) leeren Java Basics - Anfänger-Themen 1
F HTTP Get Queue Java Basics - Anfänger-Themen 7
J Queue zyklisch auslesen Java Basics - Anfänger-Themen 4
B Generische Queue programmieren Java Basics - Anfänger-Themen 5
T Priority-Queue Java Basics - Anfänger-Themen 9
S Integer/Value-Paar in Prio-Queue ohne Comparator Java Basics - Anfänger-Themen 5
P Array queue problem Java Basics - Anfänger-Themen 1
L Queue programmieren via BlueJ Java Basics - Anfänger-Themen 5
B Multithreading und eigene Queue entwickeln Java Basics - Anfänger-Themen 3
I Erste Schritte Queue Java Basics - Anfänger-Themen 14
G Queue auf einer Seite löschen, andre Seite schreiben Java Basics - Anfänger-Themen 3
G Queue mit int oder float Java Basics - Anfänger-Themen 3
Q queue.remove Element trotzdem noch vorhanden. Java Basics - Anfänger-Themen 10
P Priority Queue Java Basics - Anfänger-Themen 6
M Compiler-Fehler Queue als ArrayList mit Exceptions Java Basics - Anfänger-Themen 3
S Fehler beim Auslösen des ActionListeners in Verbindung mit einer Queue Java Basics - Anfänger-Themen 5
P Collections Queue mittels ArrayList Java Basics - Anfänger-Themen 2
T Collections Queue<? extends Number> add() offer() Java Basics - Anfänger-Themen 13
S Queue als doppelt verkettete Liste Java Basics - Anfänger-Themen 2
R NullPointerException in Queue-Implementierung Java Basics - Anfänger-Themen 11
B Queue problem! Java Basics - Anfänger-Themen 2
R Queue abhören und Message in Browser ausgeben Java Basics - Anfänger-Themen 3
T Erstellung von Queue mit verkketten listen Java Basics - Anfänger-Themen 3
K Priority Queue - wo ist denn jetzt der Vorteil? Java Basics - Anfänger-Themen 7
W Iterator in Queue Java Basics - Anfänger-Themen 5
Q An erste Stelle in eine Queue eintragen Java Basics - Anfänger-Themen 4
M Threadsichere Queue in Java 1.5? Java Basics - Anfänger-Themen 2
G Int-Queue in String-Queue umwandeln Java Basics - Anfänger-Themen 5
A Queue erweitern Java Basics - Anfänger-Themen 13
P Queue, Stacks, Listen Java Basics - Anfänger-Themen 7
S Queue als Array implementiert get()? Java Basics - Anfänger-Themen 4
S Queue als verkettete Liste Java Basics - Anfänger-Themen 9
S Queue Java Basics - Anfänger-Themen 30
K Prüfen, ob Queue leer ist Java Basics - Anfänger-Themen 5
A stack Java Basics - Anfänger-Themen 14
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
V Ist Off-Heap-Speicher dasselbe wie Stack-Speicher? Java Basics - Anfänger-Themen 2
izoards Stack... Java Basics - Anfänger-Themen 17
Csircc Rekursive Methode Stack Overflow Java Basics - Anfänger-Themen 10
L Stack bilden, push und pop Java Basics - Anfänger-Themen 16
KogoroMori21 Stack und Heap Speicher Java Basics - Anfänger-Themen 1
G Stack programmieren Java Basics - Anfänger-Themen 6
Z Datentypen Stack based calculator Java Basics - Anfänger-Themen 8
F speicherort stack oder heap Java Basics - Anfänger-Themen 1
S Rekursiven Stack Java Basics - Anfänger-Themen 6
Curtis_MC Collections Zufälliges Element aus Stack Java Basics - Anfänger-Themen 2
P Stack, Heap Java Basics - Anfänger-Themen 13
D Erste Schritte Stack im Rollenspiel Java Basics - Anfänger-Themen 76
J Stack mit Benutzereingabe Java Basics - Anfänger-Themen 17
S Sequenz von Zahlen bei einem Stack möglich oder nicht möglich? Java Basics - Anfänger-Themen 5
C Laufzeit von Stack Operation Java Basics - Anfänger-Themen 5
4 Stack over flow bei rekursiver Tiefensuche Java Basics - Anfänger-Themen 5
J Quicksort mit Stack Java Basics - Anfänger-Themen 4
A Anzahl der Elemente in einem Stack wiedergeben Java Basics - Anfänger-Themen 3
T Stack Overflow - Rekursive Fibonacci Java Basics - Anfänger-Themen 10
K Tiefen- und Breitensuche beim Baum durch Stack und Warteschlange Java Basics - Anfänger-Themen 1
L Liste mittels Stack implementieren Java Basics - Anfänger-Themen 0
A Stack programmieren -> Unklarheiten Java Basics - Anfänger-Themen 1
C Stack - listenbasierte Implementierung Java Basics - Anfänger-Themen 4
L Mit rekursiven Aufrufen einen Stack emulieren Java Basics - Anfänger-Themen 1
T Frage zu Java Stack Java Basics - Anfänger-Themen 5
D Stack-Objekt - LIFO - wait(); notify(); Java Basics - Anfänger-Themen 0
J Array von Objekten, wie schauts im Heap / Stack aus ? Java Basics - Anfänger-Themen 7
M Frage zu Stack und Heap Java Basics - Anfänger-Themen 1
Farbenfroh Suche Übungsaufgaben: BinaryTree, Stack Java Basics - Anfänger-Themen 0
D Aufgabe: Stack mit Iterator Java Basics - Anfänger-Themen 8
X Stack mit Oberklasse, wieso funktioniert es nicht? Java Basics - Anfänger-Themen 8
B Stack/Heap Frage Java Basics - Anfänger-Themen 36
K Probleme mit stack Java Basics - Anfänger-Themen 7
K Wofür wird heute noch die Stack Klasse in Java genutzt Java Basics - Anfänger-Themen 4
F Rekursion Tiefensuch-Problem - Stack Overflow Java Basics - Anfänger-Themen 9
P LinkedList - Stack ... grundlegende Frage Java Basics - Anfänger-Themen 5
B Stack in eine verkettete Liste pushen Java Basics - Anfänger-Themen 4
J OOP Warum braucht man den Stack Java Basics - Anfänger-Themen 3
G Stack invertieren Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben