Plauderecke Aufgabe 6 - Stapel

Hochschulabschluss
Master of Science
Hallo zusammen,

ich habe es geschafft mit viel Hilfe des Internets, die Aufgabe zu Stapeln zu lösen. Allerdings verstehe ich einen Aspekt nicht, wodurch kann ich in einem Objekt unter der gleichen Referenz die unterschiedlichen Eingaben in Form des Stapels speichern? Geschieht dies dadurch, dass immer mindestens ein Wert im Objekt verschieden ist?

Ich komme hier gerade nicht weiter, würde mich freuen, wenn mir jemand helfen kann. Ich beschäftige mich zum ersten Mal mit dem Thema.

Gruß
Nils
 
Keine Ahnung auf welchen Kurs und welche Aufgabe du Bezug nimmst . Aber ein Stapel kann zum Beispiel mit einer einfach verketteten Liste implementiert werden, das Stapelobjekt beinhaltet also ein Listenobjekt, das die einzelnen Einträge aufnimmt.
 
Sorry, ich beziehe mich auf den Kurs Einführung in die objektorientierte Programmierung, Kurseinheit 6, Aufgabe Stapel. Dabei soll ein Stapel implementiert werden bei dem die Werte in einem Objekt einer anderen Klasse gespeichert werden. Dabei speichert man das Objekt in jedes mal in einem Klassenattribut. Aber halt immer mit der selben Referenz. Da verstehe ich noch nicht wie das funktioniert.
 
Ich habe den Kurs irgendwann mal gemacht, da gibt es auch 2 (einen für Info, einen für Info - wenn KE 6 Statpel einführt muss es wohl der für WInfos sein)
Wenn Du eine Stapelklasse hast, kann die Klasse eine Attribut haben, das auf den OBERSTEN Eintrag im Stapel verweisen soll (oder auf null bei einem leeren Stapel).
Jeder Eintrag ist selbst ein Objekt einer Klasse, das dann den Wert den Du aktuell ablegen willst und die Referenz zum nächsten Element als Attribute enthält (oder null beim untersten Element) - wenn als einfache Verkettete Liste implementiert.
Der Stapel zeigt also nur zum obersten Eintrag, das oberste Element zum nächsten usw.
Wenn du nun ein Element zum Stapel hinzufügst , also auf den Stapel legst, erzeugst du zuerst ein neues Eintragsobjeckt, mit dem eigentlichen Wert und einer Referenz auf das jetzige erste Element im Stapel. Dann änderst du den Stapel und lässt ihn auf das neue element zeigen.
Beim Entfernen gerade umgekehrt. Du schaust auf welches (oberstes) Element der Stapel zeigt, schaust dann worauf das zeigt (Referenz auf zweitoberste Objekt) und lässt den Stapel einfach auf das zweitoberste anstelle auf das oberste zeigen. Damit hast du das oberste Element entfernt.
 
Zurück
Oben