tagseqqueue.h
来自「通过用标志位来实现的顺序循环队列.用的是VC++实现的方法.包含了所有的源代码.」· C头文件 代码 · 共 66 行
H
66 行
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 + =
减小字号Ctrl + -
显示快捷键?