使用数组模拟队列,定义队列头和队列尾两个指针,队列为空时头尾指针相等且指向队列头部。 对于入队操作,判断队列是否已满,如果已满则无法入队;否则将元素加入队列尾部,队列尾指针后移。 对于出队操作,判断队列是否为空,如果为空则无法出队;否则返回队列头部元素并将头指针后移。 C语言代码
时间: 2023-12-07 15:33:26 浏览: 71
数据结构与算法&队列
#define MAX_SIZE 100 // 队列最大容量
int queue[MAX_SIZE]; // 队列数组
int front = 0, rear = 0; // 队列头和尾指针
// 判断队列是否为空
int is_empty() {
return front == rear;
}
// 判断队列是否已满
int is_full() {
return rear - front == MAX_SIZE;
}
// 入队操作
void enqueue(int x) {
if (is_full()) {
printf("Queue is full.\n");
return;
}
queue[rear++] = x;
}
// 出队操作
int dequeue() {
if (is_empty()) {
printf("Queue is empty.\n");
return -1;
}
return queue[front++];
}
阅读全文