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 알고리즘
   153   154   155   156   157   158   159   160   161   162   163