Heim > Java > javaLernprogramm > Hauptteil

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

DDD
Freigeben: 2024-11-10 18:05:02
Original
185 Leute haben es durchsucht

How do Parenthesis Affect Infix to Postfix Expression Conversion?

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

Bei der Konvertierung von Infix-Ausdrücken in Postfix-Ausdrücke ist die Handhabung von Klammern erforderlich. Klammern können mehrere Ebenen von Prioritätsüberlegungen einführen, die berücksichtigt werden müssen, um eine korrekte Auswertung sicherzustellen.

In einem eingefügten Ausdruck können Klammern als Gruppierungselemente fungieren, die die Reihenfolge von Operationen ändern. Während beispielsweise der Ausdruck „2 3 4“ 14 ergibt, ergibt der Ausdruck „(2 3) 4“ 20, da die Klammer erzwingt, dass die Addition vor der Multiplikation erfolgt.

Um Klammern bei der Konvertierung zu handhaben, müssen wir die Logik wie folgt anpassen:

// opening (
if (in_fix.peek().type == 4) {   
    post_fix.push(in_fix.pop());
}
//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

Wenn wir auf eine Öffnung stoßen Klammer, es wird auf den Stapel geschoben. Wenn eine schließende Klammer angetroffen wird, wird der Stapel verarbeitet, solange er Elemente enthält, die keine öffnende Klammer sind. Diese Elemente werden an die Postfix-Zeichenfolge angehängt. Sobald der Stapel leer ist oder das aktuelle Element eine offene Klammer ist, werden die schließende Klammer und die entsprechende offene Klammer aus dem Stapel und dem eingefügten Stapel entfernt, um sicherzustellen, dass die Priorität der Ausdrücke in Klammern erhalten bleibt.

Das obige ist der detaillierte Inhalt vonWie wirken sich Klammern auf die Konvertierung von Infix- in Postfix-Ausdrücken 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage