⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tagseqqueue.h

📁 通过用标志位来实现的顺序循环队列.用的是VC++实现的方法.包含了所有的源代码.
💻 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 + -