-
인터프리터...22일지 2020. 12. 2. 12:02
역 폴란드 표기법 프로그램
스택, 우선순위 작성
ReversePolish.h
#pragma once #include <iostream> #pragma region 우선순위 설정 int Order(const int ch) { switch (ch) { case '*': case '/': return 3; case '+': case '-': return 2; case '(': return 1; } return -1; } #pragma endregion #pragma region 스택 처리 #define STACK_SIZE 20 int stack[STACK_SIZE]; int stackHead; void Push(int n) { if (stackHead >= STACK_SIZE) { throw std::out_of_range("stack"); } stack[stackHead++] = n; } int Pop() { if (stackHead <= 0) { throw std::out_of_range("stack"); } return stack[--stackHead]; } #pragma endregion
참고문헌참고문헌