(자바) 리스트로 구현한 스택을 이용한 수식의 계산
- 최초 등록일
- 2007.12.28
- 최종 저작일
- 2007.09
- 12페이지/
압축파일
- 가격 1,500원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
괄호 및 연산자(+,-,*,/)로 이루어진 수식이 중위 표기법으로 되어 있고, 그 변수들에 대한 값들이 있을 때, 이 수식을 계산하는 시스템을 설계하는 것이다. 이 설계를 위해 리스트로 구현한 스택을 이용하였다. 전입후출의 특성을 가진 스택을 직접 만질 수 있는 기회입니다.
리스트, 스택, 중위 표기법, 후위 표기법에 대해 설명이 되어 있는 보고서와, 이것들이 구현된 자바 코드, 그리고 실행 화면이 첨부 되어 있습니다.
목차
<b>Express.java
ListNode.java
ListStack.java
Machine.java
Stack.java
stackCalc.hwp</b>
1. 프로그램 구현
1) 스택
2) 중위 표기법에서 후위 표기법으로의 변환
3) 변수와 값
4) 후위 표기법 계산
2. 클래스 설명
2-1. class ListNode
2-2. class Stack (interface)
2-3. class ListStack
2-4. class Express
3. 고려사항
4. 실행화면
5. 토 의
본문내용
1. 프로그램 구현
이번 과제는 괄호 및 연산자(+,-,*,/)로 이루어진 수식이 중위 표기법으로 되어 있고, 그 변수들에 대한 값들이 있을 때, 이 수식을 계산하는 시스템을 설계하는 것이다.
이번 과제에서는 가장 염두에 둔 것은 중위 표기법을 후기 표기법으로 바꾸는 것과 후기 표기법으로 된 수식을 계산하는 것이다. 이를 위해서 연결 리스트로 구현한 스택이 사용되었다. 연결 리스트는 숙제2에서 했었지만, 스택은 이번 숙제에서 처음으로 보이는 것이다.
연결리스트를 이용한 스택의 구현이나 활용은 간단하다. 원소를 삽입할 때는 최상위에 넣고, 원소를 삭제하거나 반환할 때 역시 최상위의 원소를 삭제하거나 반환하면 된다. 연결리스트를 이용하기 때문에, 삽입 과정에서 최대 원소 개수를 고려할 필요는 없지만, 삭제하거나 반환할 때에는 스택이 비어 있는지 확인해야 한다.
1) 스택
스택에 대해 좀 더 자세히 말하면 다음과 같다. 삽입할 때에는 연결리스트 노드를 하나를 만들고, 데이터를 노드에 넣는다. 리스트 노드 중 최상위 노드의 주소를 새로 만든 노드의 link 에 넣고, 새로 만든 노드를 최상위 노드로 두면 된다. 이를 그림으로 보면 그림1 과 같다.
참고 자료
없음
압축파일 내 파일목록
stackCalc.hwp
ListNode.java
ListStack.java
Machine.java
Stack.java
Express.java