링크드 리스트를 사용한 스택구현 (최대값, 최소값, 연산기 포함)
- 최초 등록일
- 2007.06.03
- 최종 저작일
- 2007.01
- C언어
- 가격 2,000원
소개글
1. 본 과제는 stack을 이용하여 연산을 수행하는 program이다.
2. Stack에 대한 구조체는 Linked list 형태로 이루어진다.
3. Stack에 대한 연산은 다음과 같다.
(1) Print : Stack 제일 위에 있는 원소부터 차례로 출력한다.
(2) Count : 현재 stack에 있는 원소의 개수를 출력한다.
(3) Push : 입력되는 원소(숫자, 0-99 사이의 값)를 읽어서 stack에 넣는다. 범위가 벗어나 면 error message를 출력한다.
(4) Pop : 제일 위에 있는 원소를 출력하고 빼낸다.
(5) Calculate : 연산자( ‘+’ || ‘-’ || ‘*’ || ‘/’)를 읽어서 stack에서 두 숫자를 pop 한 후 연산자를 이용하여 계산한 값을 stack에 넣는다.
(예, ‘-’를 읽었을 경우 처음 pop한 숫자가 5이고 나중에 pop한 숫자가 20이면 20-5의 결과 값 15가 stack에 들어간다.)
주의 : 나누기 계산에서 0으로 나눌 경우는 error message만 출력하며, 실수 값이 나오면 소수점 아래 값은 무시하고 정수 부분만 계산 값으로 인정
(6) Max : stack에 있는 원소 중 제일 큰 값을 출력한다.
(7) Min : stack에 있는 원소 중 제일 작은 값을 출력한다.
(8) Sum : stack에 있는 모든 원소의 합을 출력한다.
(9) Quit : program을 끝낸다.
컴파일 실행환경
Microsoft visual c++
본문내용
# 소스일부
//
// main function
//
int main()
{
// setting
stack_creation(); // stack을 생성하는 함수
//input & process
while(1){
select_q(menu());
}
return 1;
}
//
// stack_creation function
//
참고 자료
없음