Praktikum 1 evaluateSimpleExpression()

Moderator: AI 2

ramona3300
Neuling
Neuling
Beiträge: 2
Registriert: 11. Nov 2015 21:50

Praktikum 1 evaluateSimpleExpression()

Beitrag von ramona3300 »

Hi,

bei der oben genannten Methode sollen ja die Klammern vom einfachen Ausdruck gelöscht werden. Nur kann ich mit der im Framework benutzten LinkedList nicht auf das vorherige Element zugreifen.
Hier ein Beispiel: bei "3+(1+2)" wird in der Methode ja der Pointer auf die "1" übergeben. Gibt es eine einfache Möglichkeit auf das "(" zugreifen zu können, ohne die LinkedList in eine DoublyLinkedList umzuwandeln?
Oder wird bei der Methode nicht der Pointer auf die "1" sondern auf das "(" übergeben? Laut Aufgabenstellung auf die "1".

Vielen Danke

Felix Sternkopf
Mausschubser
Mausschubser
Beiträge: 77
Registriert: 21. Apr 2015 23:09

Re: Praktikum 1 evaluateSimpleExpression()

Beitrag von Felix Sternkopf »

Besitzt der Ausdruck keine Klammern: 13 + 5 --- findInnermostExpression sollte hier einen Pointer auf die "13" zurückgeben
Besitzt der Ausdruck Klammern: 13 * (5 + 4) --- findInnermostExpression sollte hier einen Pointer auf die "(" zurückgeben

Nun kann man in evaluateSimpleExpression immer davon ausgehen, dass der übergebene Pointer immer mit dem Ergebniss des Ausdrucks überschrieben werden kann, ist es eine Klammer verschwindet diese und es muss nur noch die schließende Klammer gelöscht werden, ist es eine Zahl, kann man diese direkt mit dem Ergebniss überschreiben und ist fertig.

Antworten

Zurück zu „AI 2“