>  기사  >  Java  >  괄호는 중위 표현을 후위로 변환하는 데 어떤 영향을 줍니까?

괄호는 중위 표현을 후위로 변환하는 데 어떤 영향을 줍니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-11 15:24:021039검색

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

중위 표현식에서 후위 표현식 변환 시 괄호 처리

중위 표현식을 후위 표현식으로 변환하는 동안 괄호는 순서를 결정하는 데 중추적인 역할을 합니다. 우선순위. 코드에서 괄호와 여러 레이어의 괄호를 처리하는 방법은 다음과 같습니다.

toPostFix() 메서드에서 왼쪽 괄호가 나타날 때(:

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

오른쪽 괄호가 나타날 때 parenthesis ):

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

이 코드는 다음을 보장합니다.

  • 왼쪽 괄호(가 나타나면 스택 post_fix로 푸시됩니다.
  • 오른쪽 괄호를 만나면) 스택에서 요소를 팝하고 빈 스택에 도달하거나 왼쪽 괄호를 만날 때까지(다시.
  • 이 프로세스 중에 스택이 비어 있으면 일치하지 않는 오른쪽 괄호가 있음을 의미합니다. 그러나 스택에 왼쪽 괄호가 포함되어 있으면 팝됩니다.
  • 마지막으로 오른쪽 괄호 자체가 입력 스택 in_fix에서 팝됩니다.

이 로직을 구현하면 코드에서 여러 계층의 괄호를 처리하고 괄호가 포함된 중위 표현식을 후위 표현식으로 올바르게 변환할 수 있습니다.

위 내용은 괄호는 중위 표현을 후위로 변환하는 데 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.