c语言循环队列的删除
时间: 2023-09-02 22:07:33 浏览: 122
c语言 循环队列
5星 · 资源好评率100%
循环队列的删除操作需要分为两步:
1. 删除队头元素
2. 将队头指针向后移动一位
具体的代码实现如下:
```c
#define MAXSIZE 100 // 定义循环队列的最大长度
typedef struct {
int data[MAXSIZE];
int front; // 队头指针
int rear; // 队尾指针
} SqQueue;
// 判断队列是否为空
int isEmpty(SqQueue *q) {
return q->front == q->rear;
}
// 删除队头元素
int deleteQueue(SqQueue *q) {
if (isEmpty(q)) { // 队列为空,无法删除
printf("Queue is empty.\n");
return -1;
}
int e = q->data[q->front]; // 获取队头元素
q->front = (q->front + 1) % MAXSIZE; // 队头指针向后移动一位
return e;
}
```
调用 `deleteQueue` 函数即可删除队头元素。需要注意的是,当队列为空时无法删除元素,需要进行判断。另外,在循环队列中,队头指针和队尾指针都需要进行取模运算,以保证它们的值在合法的范围内。
阅读全文