In deze oefening implementeren we het algoritme om een infixuitdrukking om te zetten naar een postfixuitdrukking, met behulp van stapels. We herschikken een gegeven lijst van tokens van infixnotatie naar postfixnotatie. Een token is ofwel een getal, bv. "4"
of "65"
, een openend haakje "("
of sluitend haakje ")"
, of een operator ("+"
, "-"
, "*"
of "/"
). Zo zal jouw oplossing bijvoorbeeld volgende omzettingen moeten kunnen uitvoeren:
["99", "+", "65", "-", "64", "/", "58"]
-> ["99", "65", "+", "64", "58", "/", "-"]
["(", "(", "44", "+", "21", ")", "*", "(", "10", "/", "29", ")", "-", "48", "-", "1", ")"]
-> ["44", "21", "+", "10", "29", "/", "*", "48", "-", "1", "-"]
Hiervoor implementeer je de interface InfixToPostfix1 met een klasse genaamd StackInfixToPostfix. Deze interface belooft één methode, public List<String> infixToPostfix(List<String> infix)
welke de gevraagde omzetting uitvoert.
Je kan zoals gebruikelijk je code lokaal debuggen met behulp van de SimpleTest testklasse2.