기타 강좌

#include <stdio.h>
#include <stdlib.h>

int front, rear;
int queue[5];
enum {PUT = 1, GET, INIT, PRINT, EXIT};

void init_queue()
{
     front = rear = 0;
}

int put(int nPutNum)
{
     int state = 1;
    
     if(rear > 4){
     printf("OVERFLOW n");
     state = 0;
     }

     else{
     queue[rear++] = nPutNum;
    
     printf("PUTn");
     }
     return state;
}

int get()
{
    int nGetNum = 0;
   
    if(front > 4){
             printf("UNDERFLOW n");
             nGetNum = -1;
    }
   
    else{
    nGetNum = queue[front++];
   
    printf("GETn");
}
    return nGetNum;
}

void printQueue()
{
     int i;
    
     printf("front -> rear n");
    
     for( i = front; i<rear; i++)
          printf("%d  ", queue[i]);
    
     puts("");
}

void printMenu()
{
     printf("SELECT : 1)PUT 2)GET 3)INIT 4)PRINT 5)EXIT n");
}

int Selection()
{
    int nSelection;
    scanf("%d", &nSelection);
    return nSelection;
}

main()
{
      int nSelect = 0;
      int nPutNum = 0;
     
      while(1)
      {
              printMenu();
              nSelect = Selection();
             
              switch(nSelect)
              {
                             case PUT :
                                  printf("Input Num : ");
                                  nPutNum = Selection();
                                  puts("");
                                  put(nPutNum);
                                  break;
                            
                             case GET :
                                  get();
                                  break;
                                 
                             case INIT :
                                  init_queue();
                                  break;
                            
                             case PRINT :
                                  printQueue();
                                  break;
                                 
                             case EXIT :
                                  exit(-1);
                                 
                             default :
                                     printf("Wrong Number!! n");
                                     break;
              }
      }
}
             

 

흐음...이번엔 배열을 이용해 큐를 구현해 봤습니다...

이번에도 틀린것이 있다면 정중하게 태클~

Comment '3'
  • ?
    강아지포스 2009.06.13 22:27

    이건 C공부하시는 분들을 위해 코드만 참고하시라고 올려놓은 것이기 때문에

    코드 설명은 올리지 않겠습니다.

  • ?
    제니스 2009.06.13 22:29
    구름! 난 너를 존경한다 - Zennys ,,,
  • ?
    Last H 2009.06.17 19:41

    밑 글의 댓글에 이어 다시한번 큐에 대해 말한다면!!

    밑의 글의 댓글에선 스택에 대해 말했습니다. 

    "가장 처음에 예약한 사람이 가장 나중에 서비스를 받는다!" -- 이 이야기와도 일맥 상통하는게 바로 스택이었죠.

    이 얼마나 불공평하단 말입니까!!!!! 왜 내가 1등으로 물건 신청했는데 꼴지로 물건을 받아!!

    그래서 큐가 해결합니다. queue !!   TV에서 PD들이 외치는 ready~~ 큐! 에서의 바로 그 큐!

    이 큐란 녀석의 키포인트는 바로 이것! FIFO!!  (first in first out)

    당연히 젤앞에 줄서있는 사람이 제일 먼저 영화관에 들어가야 하는것 아니겠습니까?

    그 공공질서 속의 사람들의 줄서기가 바로 큐입니다.


List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 886
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 757
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Red Download Button file 아방스 2011.12.07 2829
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - PSD Download Buttons file 아방스 2011.12.07 3279
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Pink Vibrant “Call To Action” file 아방스 2011.12.07 2894
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Light to Dark Web Buttons file 아방스 2011.12.07 2759
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Green App Store Button file 아방스 2011.12.07 2888
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Download The Source Files Button file 아방스 2011.12.07 2752
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Download Button file 아방스 2011.12.07 2321
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Clean E-Commerce Web Buttons file 아방스 2011.12.07 2166
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Clean Download Buttons Pack file 아방스 2011.12.07 1992
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Check It Out Button file 아방스 2011.12.07 1815
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Carbonalistic Web Buttons file 아방스 2011.12.07 1588
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Call To Action file 아방스 2011.12.07 1496
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Buttons Vector Graphic file 아방스 2011.12.07 1198
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Aqua Texture Button file 아방스 2011.12.07 1205
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Add To Cart Buttons file 아방스 2011.12.07 1403
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - 4 Web Buttons file 아방스 2011.12.07 1156
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - 3D Buttons file 아방스 2011.12.07 1791
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - 36 Web Buttons Collection file 아방스 2011.12.07 1856
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - 3 “Call To Action” Buttons file 아방스 2011.12.07 1281
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - 27 Web Buttons file 아방스 2011.12.07 1410
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19