[자료구조] 스택과 큐를 이용한 중위 표기의 후위 표기 전환 프로그램
- 최초 등록일
- 2002.08.28
- 최종 저작일
- 2002.08
- 14페이지/ 한컴오피스
- 가격 1,000원
목차
▶문제
▶풀 이
▶ 참고 문헌
실행결과)
* 실행
* 3+8*(9-7)/2를 입력했을 경우 결과값
source)
큐를 이용해 구현한 프로그램
▶ 풀이
실행 결과)
* 첫 실행화면..
* 큐가 빈 상태에서 1번메뉴 선택시.
* 큐가 빈상태에서 3번메뉴 선택시..
*2번 메뉴 선택시..
* 2번 메뉴에서 차량을 추가시킬 경우..(마티즈 입력)
* 차량 입력 후 3번 메뉴 선택시..(마티즈,포니,아반떼 순..)
* 차량 입력후 1번 메뉴 선택시..
* 1번 메뉴 선택후 3번 메뉴 선택시..(가장 먼저 들어온 마티즈가 삭제 되었다.)
* 다시 2번 메뉴 선택하고 소나타를 입력후 3번 메뉴를 선택시.(마지막에 소나타 삽입됨)
source)
본문내용
문제: 키보드로 중위 표기(infix)의 산술식을 입력 받아서 후위 표기(postfix) 산술식으로 전환하여 출력한다.(단,스택을 이용한 처리이다..)
예1) 중위 표기식 3+8*9-7의 식이 입력되면
389*+7- 의 후위 표기식으로 바꾸어 화면에 출력한다.
예2) 괄호를 포함하는 중위 표기식도 후위 표기식으로 바꿀 수 있어야 한다.
중위 표기식 3+8*(9-7)/2 이 입력되면, 마찬가지로
3897-*2/+ 의 후위 표기식으로 바꾸어 화면에 출력한다.
풀 이
==> 중위 표기식을 후위 표기로 전환하는 프로그램을 작성하기 위해 중위 표기에서 후위 표기로 바꾸는 과정을 배열 스택을 이용해서 작성했다. 물론 연결 스택보다 메모리 활용면에서 많은 낭비가 있지만, 연결 스택에 비해서 배열 스택이 전체적인 알고리즘면에서 복잡하지않고, 또한 문제의 데이터량이 많지 않았기 때문에 배열 스택을 사용하였다. 또한 연산 과정에서 발생할 수 있는 overflow와 스택의 공백상태에 대비하여 overflow와 스택의 공백 유무 조사 알고리즘을 포함 하였다. 산술식을 입력받고 숫자일 경우에는 그대로 출력하고 산술연산자 또는 괄호일 경우 스택에 저장하고 산술연산자의 우선순위를 비교하여 출력한다.
참고 문헌
C언어로 구현한 자료구조 / 임형근 저
참고 자료
없음