#include <stdio.h>
int a[5];
int front = -1;
int rear = -1;
void enQueue(int in)
{
int i, j;
if (rear < 4) {
rear++;
a[rear] = in;
printf("a[%d] = %d \n", rear, a[rear]);
}
else if (front -1 == rear) { <--------여기 if가 작동이 안되요 었덯게 바꿔야 되져?
printf("완전히 가득찼다.\n");
}
else if (rear == 4) {
rear = (rear + 1) % 5;
a[rear] = in;
printf("a[%d] = %d \n", rear, a[rear]);
}
}
int deQueue()
{
int out;
if (front == rear) {
printf("완전히 비어있다.\n");
rear = -1, front = -1;
return 0;
}
else {
front++;
out = a[front];
printf("a[%d] = %d \n", front, out);
return out;
}
}
int main() {
int inQ;
int outQ;
int select;
while (1) {
printf("1번 enQueue 2번 deQueue 3번 종료");
scanf_s("%d", &select);
switch (select)
{
case 1:
scanf_s("%d", &inQ);
enQueue(inQ);
break;
case 2:
outQ = deQueue();
break;
case 3:
return 0;
break;
}
}
}
댓글 입력