Page 140 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 140
종료 함수 Terminate
Terminate 함수는 뒤처리를 담당하는 함수입니다. Initialize 함수로 확보한 스택을 해제하
고 용량 max와 스택 포인터 ptr의 값을 0으로 합니다.
스택을 사용하는 프로그램
스택을 사용하는 프로그램을 만들어 보겠습니다. 프로그램 예를 실습 4-3에 나타냈습니다.
이 프로그램을 컴파일하려면 IntStack.h, IntStack.c가 필요합니다.
실습 4-3 •완성 파일 chap04/IntStackTest.c
01 /* int형 스택 IntStack의 사용 */
02 #include <stdio.h>
03 #include "IntStack.h"
04
05 int main(void)
06 {
07 IntStack s;
08 if(Initialize(&s, 64) == -1) {
09 puts("스택 생성에 실패하였습니다.");
10 return 1;
11 }
12
13 while(1) {
14 int menu, x;
15 printf("현재 데이터 수 : %d / %d\n", Size(&s), Capacity(&s));
16 printf("(1)푸시 (2)팝 (3)피크 (4)출력 (0)종료 : ");
17 scanf("%d", &menu);
18
19 if(menu == 0) break;
20 switch(menu) {
21 case 1 : /*--- 푸시---*/
22 printf("데이터 : ");
23 scanf("%d", &x);
24 if(Push(&s, x) == -1)
25 puts("\a오류 : 푸시에 실패하였습니다.");
26 break;
27
28 case 2 : /*--- 팝 ---*/
29 if(Pop(&s, &x) == -1)
30 puts("\a오류 : 팝에 실패하였습니다.");
31 else
140 C 알고리즘