queueempty函数
时间: 2023-10-18 12:09:00 浏览: 87
`queueempty`函数是一个用于判断队列是否为空的函数。它通常用于在编写队列相关的程序时,判断队列是否为空,以便进行相应的处理。
在实现上,`queueempty`函数会检查队列中是否存在任何元素。如果队列为空,它将返回一个非零值(通常为1),否则返回0。
以下是一个示例代码,展示如何使用`queueempty`函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define MAX_SIZE 100
typedef struct {
int data[MAX_SIZE];
int front;
int rear;
} Queue;
void initQueue(Queue *q) {
q->front = -1;
q->rear = -1;
}
bool queueempty(Queue *q) {
if (q->front == -1 || q->front > q->rear) {
return true;
} else {
return false;
}
}
void enqueue(Queue *q, int item) {
if (q->rear == MAX_SIZE - 1) {
printf("Queue is full\n");
return;
} else {
if (q->front == -1) {
q->front = 0;
}
q->rear++;
q->data[q->rear] = item;
}
}
int dequeue(Queue *q) {
int item;
if (queueempty(q)) {
printf("Queue is empty\n");
return -1;
} else {
item = q->data[q->front];
q->front++;
return item;
}
}
int main() {
Queue q;
initQueue(&q);
enqueue(&q, 1);
enqueue(&q, 2);
enqueue(&q, 3);
while (!queueempty(&q)) {
printf("%d ", dequeue(&q));
}
return 0;
}
```
在上面的代码中,`queueempty`函数用于判断队列是否为空。当队列为空时,程序输出"Queue is empty",否则将队列元素依次出队并输出。
阅读全文