Algoritme for postfix-form

Her kan du stille spørsmål vedrørende problemer og oppgaver i matematikk på høyskolenivå. Alle som har kunnskapen er velkommen med et svar. Men, ikke forvent at admin i matematikk.net er spesielt aktive her.

Moderators: Vektormannen, espen180, Aleks855, Solar Plexsus, Gustav, Nebuchadnezzar, Janhaa

Post Reply
TurboN
Cauchy
Cauchy
Posts: 236
Joined: 15/11-2006 19:33

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
Shantel
Noether
Noether
Posts: 36
Joined: 01/10-2004 14:40

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
TurboN
Cauchy
Cauchy
Posts: 236
Joined: 15/11-2006 19:33

takker, skal klare det nå
Post Reply