/*
循环队列,head和tail指针超出数组范围之后重置为0,循环队列head和tail之间至少有一个空位。
*/
#include <iostream>
using namespace std;
const int MAXN = 5;
int q[MAXN];
int head, tail;
// 初始化
void initialize() {
head = tail = 0;
}
// 判满
bool isFull() {
return head == (tail + 1) % MAXN;
}
// 判空
bool isEmpty() {
return head == tail;
}
// 入队
void enQueue(int x) {
if (isFull()) {
cout << "Error" << endl;
}
q[tail] = x;
if (tail + 1 == MAXN) {
tail = 0;
} else {
tail++;
}
}
// 出队
int deQueue() {
if (isEmpty()) {
cout << "Error" << endl;
}
int x = q[head];
if (head + 1 == MAXN) {
head = 0;
} else {
head++;
}
return x;
}
循环队列代码模板
猜你喜欢
转载自blog.csdn.net/WxqHUT/article/details/108930978
今日推荐
周排行