Page 1 of 1
Algoritme for postfix-form
Posted: 15/01-2007 08:47
by TurboN
Noen som kan en algoritme for å få et utrykk på postfix-form? Har vært borti jernbanealgoritmen for prefix, men har aldri en for postfix. Da jeg ville tro postfix er det idelle når man bygger en kalkulator
Posted: 15/01-2007 23:49
by Shantel
Dette er bare pseudokode, men det vil gi deg en idè om hvordan det kan gjøres.
convertToPostfix(infix)
operatorStack = new empty stack
postfix = new empty string
while (infix has characters left to parse) {
nextCharacter = next nonblank character of infix
switch (nextCharacter) {
case variable:
Append nextCharacter to postfix
break
case '^':
operatorStack.push(nextCharacter)
break
case '+': case '-': case '*': case '/':
while (!operatorStack.isEmpty() and precedence of nextCharacter
<= precedence of operatorStack.peek()) {
Append operatorStack.peek() to postfix
operatorStack.pop()
}
operatorStack.push(nextCharacter)
break
case '(':
operatorStack.push(nextCharacter)
break
case ')':
topOperator = operatorStack.pop()
while (topOperator != '(') {
Append topOperator to postfix
topOperator = operatorStack.pop()
}
break
default: break
} // end switch
} // end while
while (!operatorStack.isEmpty()) {
topOperator = operatorStack.pop()
Append topOperator to postfix
}
return postfix
Posted: 16/01-2007 22:57
by TurboN
takker, skal klare det nå