알고리즘(C)
Week11_그래프순회_BFS_실습
lemonjelly
2021. 12. 3. 00:50
<원형큐> 필요
//큐 템플릿
#define SIZE 10
typedef struct{
char elem[SIZE];
int front, rear;
}QueueType;
void initQueue(QueueType* Q){
Q->front = Q->rear = 0;
}
int isEmpty(QueueType* Q){
return Q->rear == Q->front;
}
int isFull(QueueType* Q){
return (Q->rear + 1) % SIZE == Q->front;
}
void enqueue(QueueType* Q, char vName){
if (isFull(Q)){
printf("FULL\n");
return;
}
Q->rear = (Q->rear + 1) % SIZE;
Q->elem[Q->rear] = vName;
}
char dequeue(QueueType* Q){
if (isEmpty(Q)){
printf("EMPTY\n");
return 0;
}
Q->front = (Q->front + 1) % SIZE;
return Q->elem[Q->front];
}