队列,Queue.h

来源:互联网 发布:ps网络用语是什么意思 编辑:程序博客网 时间:2024/05/22 08:24

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<<”队列已满不能插入元素”<

原创粉丝点击