스 택(Stack)

 

■ 스택의 사용 사례 2 - 중위표기를 후위표기로 변환하는 알고리즘
    스택은 중위표기의 수식을 후위표기 수식으로 바꾸는 데에도 이용된다. 변환 알고리즘은 다음과 같다.

① 피연산자를 입력하면 즉시 출력한다.
② 연산자는 스택에 집어 넣는다. 단, 스택에 보다 우선순위가 높거나 같은 연산자가 있으면 다 뽑아내 출력하고 집어 넣는다. 여는 괄호도 그대로 스택에 넣는다.
③  닫는 괄호는 여는 괄호를 만날 때까지 스택안에 있는 것들을 뽑아내어 출력하되, 괄호들은 출력하지 않고 뽑아내기만 한다.
④ 입력이 다 끝난 후에도 스택에 남아있는 것이 있으면 다 뽑아내어 출력한다.

    위 알고리즘을 a - b * c + ( d * e + f ) / g 에 적용하여 보자.

    ---> 중위표기를 후위표기로 변환하는 알고리즘