2010-12-06 12 views
0

J'essaye d'écrire un programme qui résoudra un problème de notation d'infixe sans convertir à n'importe quelle autre notation.Comment puis-je résoudre une notation infixe sans la convertir en une autre notation?

J'ai trois structures de données (1 pour les opérandes, 1 pour les opérateurs, et 1 qui contient la notation infix) qui peut effectuer push, pop, enQueue, deQueue.

J'ai aussi des méthodes de vérification:

  • effectuer l'opération
  • vérifier ce que l'élément que nous demandons est (isOperand, isOperator, isRightparenthesis, isLeftparenthesis)
  • vérification qui contrôle la priorité de l'objet

Comment est-ce que je peux résoudre la notation infixée sans la 1ère conversion à n'importe quel autre format?
note: les parenthèses peuvent être ajoutées, et supposent que la notation est toujours correcte sans erreur.
J'ai des difficultés à déterminer l'algorithme.

Merci.

+0

Qu'entendez-vous par "résoudre"? Pouvez-vous donner un exemple d'entrée et de sortie pour rendre le problème plus concret? – wnoise

+0

@wnoise Je suppose qu'il veut dire que l'entrée représente une expression (avec juste des nombres, pas de variables), et il souhaite l'évaluer numériquement. –

Répondre

3

Est-ce que this est utile?