@李长宁的笔记
![在这里插入图片描述](https://i
mg-blog.csdnimg.cn/20181125234504117.jpg)
![
#include
using namespace std;
const int QueueSize=100;
template
class CirQueue
{
public:
CirQueue(){front=rear=QueueSize-1;}
~CirQueue(){}
void EnQueue(DataType x);
DataType DeQueue();
DataType GetQueue();
int Empty(){if(front==rear)return 1;else return 0;}
private:
DataType data[QueueSize];
int front,rear;
};
int main()
{
CirQueue dui;
cout<<“判断初始队列是否为空:”;
cout<<dui.Empty()<<endl;
dui.EnQueue(4);dui.EnQueue(5);dui.EnQueue(6);
cout<<“将456依次插入队列。”<<endl;
cout<<“判断当前队列是否为空:”;
cout<<dui.Empty()<<endl;
cout<<“当前头元素为:”;
cout<<dui.GetQueue()<<endl;
cout<<“将头元素出队:”;
cout<<dui.DeQueue()<<endl;
cout<<“当前头元素为:”;
cout<<dui.GetQueue()<<endl;
}
template
void CirQueue::EnQueue(DataType x)
{
if((rear+1)%QueueSize==front) throw"下溢";
rear=(rear+1)%QueueSize;
data[rear]=x;
}
template
DataType CirQueue::DeQueue()
{
if(rear==front) throw"下溢";
front=(front+1)%QueueSize;
return data[front];
}
template
DataType CirQueue::GetQueue()
{
int i;
if(rear==front) throw"下溢";
i=(front+1)%QueueSize;
return data[i];
}