doppelt verkettete Liste mit zwei Stacks realisieren!
-
doppelt verkettete liste, kein problem. welche rolle soll der stack dabei spielen.
-
Wie wäre es, wenn Du mit der Erstellung der Liste anfängst und dann den Stack daraus baust?
-
Tachyon schrieb:
Wie wäre es, wenn Du mit der Erstellung der Liste anfängst und dann den Stack daraus baust?
er will's doch andersrum haben, du blitzmerker.
-
bregenwurst-freak schrieb:
Tachyon schrieb:
Wie wäre es, wenn Du mit der Erstellung der Liste anfängst und dann den Stack daraus baust?
er will's doch andersrum haben, du blitzmerker.
Jo, nur das macht keinen Sinn. Ich denke, er hat die Aufgabe falsch verstanden.
-
Tachyon schrieb:
Ich denke, er hat die Aufgabe falsch verstanden.
das sehe ich auch so
-
Anscheinend will keiner mir glauben,
OK!
Dann füge ich einfach das Link vom Übungsblatt ein:
Die Aufgabe1:http://www-ai.math.uni-wuppertal.de/SciComp/teaching/ss08/info2/Ueb/blatt2_ss08.pdf
Und?
Hab ich die Aufgabe falsch verstanden?!oder habe ich doch Recht?!
-
Hmm, okay, die Aufgabe hast Du richtig verstanden. Aber die ist Schwachsinn.
Ein Stack ist eine Datenstruktur die dem LIFO-Prinzip folgt. Ich kenne natürlich nicht die in der Aufgabe erwähnt Implementierung eures Stacks, aber eigentlich sollte da nur der Zugriff auf das jeweils letzte Element möglich sein.
Damit fällt dann ja irgendwie das Löschen irgendwelcher Elemente zwischen Start und Ende sowie der Zugriff darauf flach. Also l_insert, l_delete, l_advance usw. machen keinen Sinn. Aber vielleicht sehe ich ja auch nur den Wald vor lauter Bäumen nicht.
-
Die Rede ist ja auch von 2 Stacks.
Als Denkanstoß (bin mir selber nicht so sicher, obs funktioniert) würde ich sagen, daß das top des Stack Nr1 das aktuelle Element ist, top von Stack Nr2 das nächste Element. Durch pushen des gepopptenElements vom jeweils anderen Stack kann man in der Liste rumwandern und Elemente löschen/einfügen.
-
Jo, das könnte es tatsächlich sein. Man lernt nie aus.
-
Tachyon, danke für deie Antwort,
ich denke das kann man mit zwei Stacks, S_links und S_rechts ,die mit Kopf gegebüber einander stehen und nicht parallel, realisieren. So wenn in einer doppelt verkettete Liste der Zeiger sich einmal nach rechts oder links bewegt, müssen (pop()für S_rechts ,push() für S_links) bzw. (push() für S_rechts,pop() für S_links) durchgeführt werden.Vll. kann man so alle Funktionen für eine DCL auch mit zwei Stacks realisieren.