ホームページ  >  記事  >  Java  >  括弧は中置式から後置式への式の変換にどのような影響を与えますか?

括弧は中置式から後置式への式の変換にどのような影響を与えますか?

DDD
DDDオリジナル
2024-11-10 18:05:02187ブラウズ

How do Parenthesis Affect Infix to Postfix Expression Conversion?

中置式から後置式への変換での括弧の処理

中置式から後置式への変換には、括弧の処理が含まれます。括弧を使用すると、優先順位を考慮するための複数のレイヤーが導入される可能性があり、正しい評価を確実に行うためにはこれに対処する必要があります。

中置式では、括弧は演算の順序を変更するグループ化要素として機能します。たとえば、式「2 3 4」は 14 と評価されますが、式「(2 3) 4」は括弧によって乗算の前に加算が強制的に行われるため、20 と評価されます。

変換で括弧を処理するには、次のようにロジックを調整する必要があります:

// 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 )
} 

開始点に遭遇したとき括弧内にある場合はスタックにプッシュされます。閉じ括弧が見つかった場合、開き括弧ではない要素が含まれている限り、スタックは処理されます。これらの要素は後置文字列に追加されます。スタックが空になるか、現在の要素が開き括弧になると、閉じ括弧とそれに対応する開き括弧がスタックおよび中置スタックからポップされ、括弧内の式の優先順位が確実に維持されます。

以上が括弧は中置式から後置式への式の変換にどのような影響を与えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。