1. 큐

   - 큐는 '줄을 서서 기다리다' 라는 뜻을 가지고 있다.

   - 큐는 선입선출 (FIFO : First In, First Out)원리의 자료구조이다.

   - 큐 구조는 컴퓨터 과학 전반에 자주 쓰이는 자료구이다. 예) 버퍼


2. queue 함수

   - void inqueue(int *,int);  // 큐에 데이터를 삽입하는 연산

   - int dequeue(int *);  // 큐에서 데이터를 빼는 연산


3. 소스
  1. #include <stdio.h>
  2.  
  3. int front = -1;
  4. int rear;
  5.  
  6. void inqueue(int *,int);  // 큐에 데이터를 삽입하는 연산
  7. int dequeue(int *);  // 큐에서 데이터를 빼는 연산
  8.  
  9. int main(void)
  10. {
  11.     int arr[10] = {0,};
  12.  
  13.     inqueue(arr,10);
  14.     inqueue(arr,20);
  15.     inqueue(arr,30);
  16.     inqueue(arr,40);
  17.     inqueue(arr,50);
  18.     inqueue(arr,60);
  19.     inqueue(arr,70);
  20.     inqueue(arr,80);
  21.     inqueue(arr,90);
  22.     inqueue(arr,100);
  23.     printf("dequeue = %d\n",dequeue(arr));
  24.     printf("dequeue = %d\n",dequeue(arr));
  25.     printf("dequeue = %d\n",dequeue(arr));
  26.     printf("dequeue = %d\n",dequeue(arr));
  27.     printf("dequeue = %d\n",dequeue(arr));
  28.     printf("dequeue = %d\n",dequeue(arr));
  29.     printf("dequeue = %d\n",dequeue(arr));
  30.     printf("dequeue = %d\n",dequeue(arr));
  31.     printf("dequeue = %d\n",dequeue(arr));
  32.     printf("dequeue = %d\n",dequeue(arr));
  33.  
  34.     return 0;
  35. }
  36.  
  37. void inqueue(int *queue, int data)
  38. {
  39.     if(rear == 9)
  40.         printf("큐가 꽉찾습니다.\n");
  41.     else
  42.     {
  43.         (*(queue + (rear++))) = data;
  44.         printf("Inqueue = %d\n", data);
  45.     }
  46. }
  47.  
  48. int dequeue(int * queue)
  49. {
  50.     int data;
  51.  
  52.     if((front+1) == rear)
  53.     {
  54.         printf("큐에 데이터가 없습니다.");
  55.         return 0;
  56.     }
  57.     else
  58.     {
  59.         data = (*(queue+(++front)));
  60.        
  61.         return data;
  62.     }
  63.  
  64. }

4. 결과화면 

   


+ Recent posts