다음은 C 언어로 구현한 원형 큐(circular queue) 삽입 알고리즘이다. ㉠, ㉡에 들어갈 내용으로 옳은 것은?
#define MAX_QUEUE_SIZE 10
int queue[MAX_QUEUE_SIZE];
int front = rear = -1;
void addq(int front, int *rear, int item) {
㉠
if ( ㉡ ) {
printf(“Queue is full!!\n”);
return -1;
}
queue[*rear] = item;
} ㉠ ㉡
- ①*rear = (*rear+1) % MAX_QUEUE_SIZE; front == *rear
- ②*rear = (front+1) % MAX_QUEUE_SIZE; front == *rear + 1
- ③front = (front+1) % MAX_QUEUE_SIZE; front == *rear
- ④front = (*rear+1) % MAX_QUEUE_SIZE; front == *rear + 1
선지를 골라 바로 채점해 보세요.
정답 ①
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)