📄 tagseqqueue.h
字号:
class TagSeqQueue
{
private:
DataType data[maxQueueSize];
int front;
int rear;
int tag;
public:
TagSeqQueue()
{front=rear=0;
tag=0;
};
~TagSeqQueue(){};
void Append(const DataType& item);
DataType Delete();
DataType GetFront() const;
friend ostream& operator <<(ostream& ostr,const TagSeqQueue& s);
int NotEmpty() const
{
if(front==rear&&tag==0)
return 0;
else return 1;
};
};
void TagSeqQueue::Append(const DataType& item)
{
if(tag==1&&front==rear)
{
cout<<"The queue is full!"<<endl;
exit(0);
}
data[rear]=item;
rear=(rear+1)%maxQueueSize;
tag=1;
}
DataType TagSeqQueue::Delete()
{
if(front==rear&&tag==0)
{
cout<<"The queue is empty!"<<endl;
exit(0);
}
DataType temp=data[front];
front=(front+1)%maxQueueSize;
tag=0;
return temp;
}
DataType TagSeqQueue::GetFront() const
{
if(front==rear&&tag==0)
{
cout<<"The queue is empty!"<<endl;
exit(0);
}
return data[front];
}
ostream& operator <<(ostream& ostr,const TagSeqQueue& s)
{
if(s.NotEmpty()==1) ostr<<"The front of the queue is :"<<s.GetFront()<<endl;
else ostr<<"The queue is empty!"<<endl;
return ostr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -