[7급 국가직 자료구조론 2017년 16번]

다음은 C 언어를 사용하여 원형 큐(circular queue)의 삽입(enqueue)과 삭제(dequeue) 연산을 구현한 것이다.
int Q[8] = {0};
int front = 0;
int rear = 0;

void enqueue(int item)
{
  rear = (rear + 1) % 8;
  if (front == rear) {
    printf("Queue is full.\n");
    return;
  }
  Q[rear] = item;
}

int dequeue()
{
  int item;
  if (front == rear) {
    printf("Queue is empty.\n");
    exit(1);
  }
  else {
    front = (front + 1) % 8;
    item = Q[front];
    Q[front] = 0;
    return item;
  }
} 
front와 rear의 값이 0인 공백 큐에 6개의 값 1, 3, 2, 4, 8, 6을 차례대로 삽입하고, 여기에서 2개의 값을 삭제한 다음, 다시 3개의 값 5, 7, 9를 차례대로 삽입할 때, 배열 Q의 최종 모습은?
Q[0]
Q[1]
Q[2]
Q[3]
Q[4]
Q[5]
Q[6]
Q[7]
자료구조론
  1. ①
    0
    7
    9
    2
    4
    8
    6
    5
  2. ②
    2
    4
    8
    6
    5
    7
    9
    0
  3. ③
    7
    9
    0
    2
    4
    8
    6
    5
  4. ④
    9
    0
    2
    4
    8
    6
    5
    7

선지를 골라 바로 채점해 보세요.

정답 ③

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고