📄 queue.h
字号:
template<class T>
class Queue
{
public:
virtual void Append(const T&)=0;
virtual void DelQueue()=0;
virtual T& GetFront()const=0;
virtual bool IsFull()const=0;
virtual bool IsEmpty()const=0;
};
template<class T>
class SeqQueue:public Queue<T>
{
private:
T* pData;
int MAX;
int front,rear;
public:
SeqQueue(int max=20)
{
pData=new T[max];
MAX=max;
front=rear=-1;
}
~SeqQueue()
{
delete [] pData;
}
bool IsFull()const
{
return (rear+1)%MAX==front;
}
void Append(const T& x)
{
rear=(rear+1)%MAX;
pData[rear]=x;
if(front==-1)
front++;
}
bool IsEmpty()const
{
return front==-1&&rear==-1;
}
void DelQueue()
{
if(front!=rear)
front=(front+1)%MAX;
else
front=rear=-1;
}
T& GetFront()const
{
return pData[front];
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -