기타 강좌

#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
기타 [mac/win] 어도비 cc 2014 오프라인 업데이트 파일 다운로드 주소 file 아방스 2015.05.10 481
기타 특별한 게임제작 특강! '게임제작, 어렵지 않아요!' 수퍼말이오 2015.10.28 337
게임기획 게임기획에 대한 강의2 1 현준갓 2015.11.01 652
어플개발 소프트아이스크림의 SRPG 만들기 - 1장 게임 제작 준비 3 소프트아이스크림 2016.06.15 856
어플개발 소프트아이스크림의 SRPG 만들기 - 2장 게임 타이틀 만들기 2 file 소프트아이스크림 2016.06.20 412
어플개발 소프트아이스크림의 SRPG 만들기 - 3장 게임 타이틀 BGM / 옵션 / 블러효과 만들기 2 file 소프트아이스크림 2016.06.27 402
에프터 이펙트 에펙 aec 파일 불러오기 오류 'After Effects error : Failed to connect to Adobe Premiere Pro Dynamic Link. (86 :: 1) file 아방스 2016.07.13 5953
OSX (맥) 맥(Mac) smi <-> srt 파일 상호 변환 프로그램 다운로드(무료) 1 file 아방스 2016.07.16 2629
어플개발 소프트아이스크림의 SRPG 만들기 - 4장 기본 문법과 배열 ! file 소프트아이스크림 2016.07.18 233
어플개발 소프트아이스크림의 SRPG 만들기 - 5장 게임 구성 및 잡담 + 배경 만들기 file 소프트아이스크림 2016.07.31 240
어플개발 소프트아이스크림의 SRPG 만들기 - 6장 텍스쳐 애니메이션 file 소프트아이스크림 2016.09.14 305
기타 [Windows] 윈도우 무비 메이커 2012 다운로드 링크 file 아방스 2016.11.19 757
어도비 프리미어 [프리미어cc 2015 강좌] pip 효과 만들기 아방스 2016.12.19 202
Vegas Pro 베가스 영화 비율 영상으로 만들기 (레터박스) 아방스 2016.12.19 717
어도비 프리미어 [어도비 프리미어] 영상에 자막 넣는 방법 아방스 2016.12.19 1106
어도비 프리미어 [프리미어 프로] 검은색 배경이 있는 자막 만들기 아방스 2016.12.19 10156
기타 [C++] 게임엔진 가이드 1. 게임 엔진이란? 쿼티만세12345 2017.01.01 249
기타 [C++] 게임엔진 가이드 2 App Layer. 쿼티만세12345 2017.01.01 544
기타 [C++] 게임엔진 가이드 3 App Class 쿼티만세12345 2017.01.01 270
어도비 프리미어 [프리미어프로] 음성변조 효과 적용 하기 아방스 2017.01.01 583
Board Pagination Prev 1 ... 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19