Heim > Java > javaLernprogramm > Hauptteil

Wie wirken sich Klammern auf die Konvertierung von Infix-Ausdrücken in Postfix aus?

Patricia Arquette
Freigeben: 2024-11-11 15:24:02
Original
1002 Leute haben es durchsucht

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

Umgang mit Klammern bei der Konvertierung von Infix-zu-Postfix-Ausdrücken

Beim Konvertieren von Infix-Ausdrücken in Postfix spielen Klammern eine entscheidende Rolle bei der Bestimmung der Reihenfolge von Vorrang. So können Sie mit Klammern und mehreren Klammerebenen in Ihrem Code umgehen:

Wenn Sie in der toPostFix()-Methode auf eine linke Klammer stoßen (:

// opening (
if (in_fix.peek().type == 4) {   
    post_fix.push(in_fix.pop());
}
Nach dem Login kopieren

Wenn Sie auf eine rechte Klammer stoßen Klammer):

//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 )
} 
Nach dem Login kopieren

Dieser Code stellt sicher, dass:

  • Wenn Sie auf Folgendes stoßen eine linke Klammer (, wird auf den Stapel post_fix verschoben.
  • Wenn Sie auf eine rechte Klammer stoßen), entfernen Sie Elemente aus dem Stapel und hängen sie an die Ausgabezeichenfolge postfixstr an, bis Sie entweder einen leeren Stapel erreichen oder darauf stoßen eine linke Klammer ( wieder.
  • Wenn während dieses Vorgangs der Stapel leer ist, bedeutet dies, dass es eine nicht übereinstimmende rechte Klammer gibt; wenn der Stapel jedoch eine linke enthält Klammer, sie wird entfernt.
  • Schließlich wird die rechte Klammer selbst aus dem Eingabestapel in_fix entfernt.

Durch die Implementierung dieser Logik kann Ihr Code mehrere Ebenen von verarbeiten Klammern und konvertieren Sie Infix-Ausdrücke, die Klammern enthalten, korrekt in Postfix-Ausdrücke.

Das obige ist der detaillierte Inhalt vonWie wirken sich Klammern auf die Konvertierung von Infix-Ausdrücken in Postfix aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage