求循环队列的元素个数的代码,用c语言,给出完整代码
时间: 2024-02-11 17:09:49 浏览: 82
下面是循环队列元素个数的代码,其中假设队列中已经定义了一个指针 front 指向队头,一个指针 rear 指向队尾,且队列的最大长度为 MAX_LEN。
```
#include <stdio.h>
#define MAX_LEN 100
// 循环队列结构体
typedef struct {
int data[MAX_LEN];
int front; // 队头指针
int rear; // 队尾指针
} CircularQueue;
// 获取循环队列中元素个数的函数
int size(CircularQueue* q) {
int s = 0;
if (q->rear >= q->front) {
s = q->rear - q->front;
} else {
s = MAX_LEN - q->front + q->rear;
}
return s;
}
int main() {
// 初始化循环队列
CircularQueue q = {{0}, 0, 0};
// 入队操作
for (int i = 0; i < 5; i++) {
q.data[q.rear] = i;
q.rear = (q.rear + 1) % MAX_LEN;
}
// 获取队列长度
int len = size(&q);
printf("队列长度为:%d\n", len);
return 0;
}
```
注:此代码仅供参考,如果要实际应用请根据自己的需求进行修改。
阅读全文