Maison > Java > javaDidacticiel > le corps du texte

Quel est l'impact des parenthèses sur la conversion des expressions infixes en suffixes ?

Patricia Arquette
Libérer: 2024-11-11 15:24:02
original
1000 Les gens l'ont consulté

How do parentheses impact the conversion of infix expressions to postfix?

Gestion des parenthèses dans la conversion d'expressions infixes en postfixes

Lors de la conversion d'expressions infixes en suffixes, les parenthèses jouent un rôle central dans la détermination de l'ordre de préséance. Voici comment gérer les parenthèses et plusieurs couches de parenthèses dans votre code :

Dans la méthode toPostFix(), lorsque vous rencontrez une parenthèse gauche (:

// opening (
if (in_fix.peek().type == 4) {   
    post_fix.push(in_fix.pop());
}
Copier après la connexion

Lorsque vous rencontrez une parenthèse droite parenthèse ):

//closing )
if(in_fix.peek().type == 5){
    while(!(post_fix.isEmpty() || post_fix.peek().type == 4)){
         postfixstr.append(post_fix.pop());
    }
    if (post_fix.isEmpty())
        ; // ERROR - unmatched )
    else
        post_fix.pop(); // pop the (
    in_fix.pop(); // pop the )
} 
Copier après la connexion

Ce code garantit que :

  • Lorsque vous rencontrez une parenthèse gauche (, elle est poussée sur la pile post_fix.
  • Lorsque vous rencontrez une parenthèse droite), vous extrayez des éléments de la pile et les ajoutez à la chaîne de sortie postfixstr jusqu'à ce que vous atteigniez une pile vide ou que vous rencontriez une parenthèse gauche ( encore une fois.
  • Si, pendant ce processus, la pile est vide, cela signifie il y a une parenthèse droite sans correspondance ; cependant, si la pile contient une parenthèse gauche, elle est supprimée.
  • Enfin, la parenthèse droite elle-même est supprimée de la pile d'entrée in_fix.

Par en implémentant cette logique, votre code sera capable de gérer plusieurs couches de parenthèses et de convertir correctement les expressions infixes contenant des parenthèses en suffixe expressions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal