Page 158 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 158
11 return 1;
12 }
13 while(1) {
14 int m, x;
15
16 printf("현재 데이터 수 : %d / %d \n", Size(&que), Capacity(&que));
17 printf("(1)인큐 (2)디큐 (3)피크 (4)출력 (0)종료 : ");
18 scanf("%d", &m);
19
20 if(m == 0) break;
21 switch(m) {
22 case 1 : /*--- 인큐 ---*/
23 printf("데이터 : "); scanf( "%d", &x);
24 if(Enque(&que, x) == -1)
25 puts("\a오류 : 인큐에 실패하였습니다.");
26 break;
27
28 case 2 : /*--- 디큐 ---*/
29 if(Deque(&que, &x) == -1)
30 puts("\a오류 : 디큐에 실패하였습니다.");
31 else
32 printf("디큐한 데이터는 %d입니다.\n", x);
33 break;
34
35 case 3 : /*--- 피크 ---*/
36 if(Peek(&que, &x) == -1)
37 puts("\a오류 : 피크에 실패하였습니다.");
38 else
39 printf("피크한 데이터는 %d입니다.\n", x);
40 break;
41
42 case 4 : /*--- 출력 ---*/
43 Print(&que);
44 break;
45 }
46 }
47 Terminate(&que);
48 return 0;
49 }
이 프로그램은 최대 용량이 64인 큐를 생성하고 인큐, 디큐, 피크, 큐의 데이터 출력을 대화식으로 실행합니다.
158 C 알고리즘