올린글을 확인할 수 있도록 포스팅을 공개로 설정해 주세요.
스택 이용 중위 표기의 후위 표기 전환 프로그램

스택 이용 중위 표기의 후위 표기 전환 프로그램
▶문제: 키보드로 중위 표기(infix)의 산술식을 입력 받아서 후위 표기(postfix) 산술식으로 전환하여 출력한다.(단,스택을 이용한 처리이다..)

◈입력: A+B*C-D
◈ 출력1: ABC*+D-

예1) 중위 표기식 3+8*9-7의 식이 입력되면
389*+7- 의 후위 표기식으로 바꾸어 화면에 출력한다.

예2) 괄호를 포함하는 중위 표기식도 후위 표기식으로 바꿀 수 있어야 한다.
중위 표기식 3+8*(9-7)/2이 입력되면, 마찬가지로
3897-*2/+의 후위 표기식으로 바꾸어 화면에 출력한다.

▶풀이
==] 중위 표기식을 후위 표기로 전환하는 프로그램을 작성하기 위해 중위 표기에서 후위 표기로 바꾸는 과정을 배열 스택을 이용해서 작성했다. 물론 연결 스택보다 메모리 활용면에서 많은 낭비가 있지만, 연결 스택에 비해서 배열 스택이 전체적인 알고리즘면에서 복잡하지않고, 또한 문제의 데이터량이 많지 않았기 때문에 배열 스택을 사용하였다. 또한 연산 과정에서 발생할 수 있는 overflow와 스택의 공백상태에 대비하여 overflow와 스택의 공백 유무 조사 알고리즘을 포함 하였다. 산술식을 입력받고 숫자일 경우에는 그대로 출력하고 산술연산자 또는 괄호일 경우 스택에 저장하고 산술연산자의 우선순위를 비교하여 출력한다.

▶ 참고 문헌
C언어로 구현한 자료구조 / 임형근 저

실행결과)
* 실행

*3+8*(9-7)/2를 입력했을 경우 결과값
source)

#include[stdio.h]
#include[iostream.h]
#include[conio.h]
#include[string.h]
#include[stdlib.h]

/* postfix() 중위 표기를 후위 표기로 바꾸는 함수
....

[hwp/pdf]스택 이용 중위 표기의 후위 표기 전환 프로그램
포스팅 주소 입력
  올린글을 확인할 수 있는 포스팅 주소를 입력해 주세요.
  네이버,다음,티스토리,스팀잇,페이스북,레딧,기타 등 각각 4개(20,000p) 까지 등록 가능하며 총 80,000p(8,000원)까지 적립이 가능합니다.