队列,Queue.h

template
class Queue
{
private:
T * que;
int MaxSize;
int Rear,Front;
public:
Queue(int size);
Queue();
~Queue();
void Clear(); // 清空队列。
void disp();
bool IsEmpty(); // 判断队列是否为空。
bool IsFull(); // 判断队列是否已满
bool EnQueue(T item); // 队列的尾部加入元素item。
bool DeQueue(T& item); // 取出队列的第一个元素。
bool GetFront(T& item); // 返回队列的第一个元素,但不移去它
};

template
Queue::Queue(int size)
{
MaxSize=size;
que=new T[MaxSize];
Front=Rear=0;
}

template
Queue::Queue()
{
que=new T[20];
Front=Rear=0;
MaxSize=10;
}

template
Queue::~Queue()
{
delete []que;
}
template
void Queue::Clear()
{
Front=Rear=0;
}

template
bool Queue::IsEmpty() // 判断队列是否为空。
{
if(Front==Rear)
return true;
else
return false;
}

template
bool Queue::IsFull() // 判断队列是否已满
{
if(Front==(Rear+1)%MaxSize)
return true;
else
return false;
}

template
bool Queue::EnQueue(T item) // 队列的尾部加入元素item。
{
if(!IsFull())
{
que[Rear]=item;
Rear=(Rear+1)%MaxSize;
return true;
}
else
{
cout<<”队列已满不能插入元素”<

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页