PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : verkettete liste --------->



jancarsten
29-06-2002, 20:42
Hallo !

Wieder mal ich :D !!!

Ich habe hier eine Übungsaufgabe bei der ich zwar weiß wie das mit einem stack (push und pop)funktioniert nur will mein Prof. diese aufgabe als verkette liste realisiert haben bzw. ein Skize wie das im algemeinen aussieht nur wie mache ich das ?


Die Aufgabe lautet wie folgt:

Skizieren Sie für die Aufgabe: 5 9 8 + 4 6 * * 7 + *
die zugehörige verkettet Liste

Lösungsansatz:

Auf der Grafik unten ist mein Lösungsansatz habe aber noch ein bild angehängt.

Wie muß ich das + oder auch * zeichen in die Liste ein arbeiten?

Gibt es eine Seite auf der Verkette Listen anhand einer skitze veranschaulicht werden so wie auf meinem bild?



.
Listenanker
|
-------- ------------- ------------- ----------------
| o--|----------->| 5 | o-|---->| 9 | o-|-- > | 8 | o--|---->
-------- ------------ ------------- ----------------
|
|
|
Anfang des Stacks

Lin728
30-06-2002, 13:13
......................

jancarsten
30-06-2002, 14:39
Das ist ein Rechenoperation ( 5 9 8 + 4 6 * * 7 + *)die auch als umgekehrte polnische notation bezeichnet wirt.

Lin728
30-06-2002, 15:38
Soweit ich weiß, arbietet eine verkette Liste im Heap, da ja dynamisch reserviert wird. Soweit ich weiß spielt sichdas alles im Heap ab.

Tobias
30-06-2002, 17:38
Hi

Du kannst einen Stack als verkettet Liste implementieren, es sollte also gleich
gehen.
Das erste Listenelement entspricht dem ersten Element auf dem Stack usw. Bei
push() wird ein weiteres angehängt, bei pop() das letzte der Liste entfernt.

Wenn du das Ergebnis ausrechnen musst, wird der Stack bei + oder * abgebaut, du
brauchst die Operanden also nicht in der Liste zu speichern. Auch wie beim Stack.