记录一下C++实现循环队列;
#include<iostream>
using namespace std;
class queue {
public:
queue(int max) {
front = 0;
rear = 0;
maxlen = max;
myqueue = new int[maxlen];
num = 0;
}
~queue()
{
delete[]myqueue;
}
bool que_empty(); //判断队空;
bool que_full(); //判断队满;
void in(int x); //入队;
void out(); //出队;
int length() const; //队列长度;
void print_que(); //打印队列;
private:
int front;
int rear;
int maxlen;
int *myqueue;
int num;
};
bool queue::que_empty()
{
return num == 0 ? true : false;
}
bool queue::que_full()
{
return num == maxlen ? true : false;
}
void queue::in(int x)
{
if (que_full())
cout << "插入失败,已满" << endl;
else
{
myqueue[rear%maxlen] = x;
rear = (rear + 1) % maxlen;
num++;
}
}
void queue::out()
{
i