中置式から後置式への変換での括弧の処理
中置式から後置式への変換には、括弧の処理が含まれます。括弧を使用すると、優先順位を考慮するための複数のレイヤーが導入される可能性があり、正しい評価を確実に行うためにはこれに対処する必要があります。
中置式では、括弧は演算の順序を変更するグループ化要素として機能します。たとえば、式「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 サイトの他の関連記事を参照してください。