📄 circlequeue.h
字号:
#include "stdafx.h"
#include <iostream>
using namespace std;
template <class type>
class circlequeue
{
private:
int front,rear;
type *queue;
int maxsize;
public:
circlequeue(int size=12);
~circlequeue(){delete []queue;};
bool Full();
bool Empty();
void EnQueue(const type &item);
type DeQueue();
};
template <class type>
circlequeue<type>::circlequeue(int size = 12):front(0),rear(0),queue(NULL),maxsize(size)
{
//queue=NULL;
queue=new type[maxsize];
if(queue==NULL)
{
cerr<<"动态存储分配失败"<<endl;
exit(1);
}
}
template <class type>
bool circlequeue<type>::Full()
{
if((rear+1)%maxsize==front)
return true;
return false;
}
template <class type>
bool circlequeue<type>::Empty()
{
if(rear==front)
return true;
return false;
}
template <class type>
void circlequeue<type>::EnQueue(const type &item)
{
if(Full())
{
cerr<<"the queue is full,you can not enter!"<<endl;
exit(1);
}
queue[rear]=item;
rear=(rear+1)%maxsize;
}
template <class type>
type circlequeue<type>::DeQueue()
{
if(Empty())
{
cerr<<"the queue is empty,you can not delete!"<<endl;
exit(1);
}
type data;
data=queue[front];
front=(front+1)%maxsize;
return data;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -