实验二顺序队列

#include<iostream>
using namespace std;
const int QueueSize=100;
class CirQueue
{
public:
	CirQueue(){front=rear=QueueSize-1;}
	~CirQueue(){}
	void EnQueue(int x);
	int DeQueue();
	int GetQueue();
private:
	int Data[QueueSize];
	int front,rear;
};
void CirQueue::EnQueue(int x)
{
	if((rear+1)%QueueSize==front)throw"上溢";
	rear=(rear+1)%QueueSize;
	Data[rear]=x;
}
int CirQueue::DeQueue()
{
	if(rear==front)throw"下溢";
	front=(front+1)%QueueSize;
	return Data[front];
}
int CirQueue::GetQueue()
{int i;
if(rear==front)throw"下溢";
i=(front+1)%QueueSize;
return Data[i];
}
void main()
{
	CirQueue C;
	cout<<"元素66和99执行入队操作:"<<endl;
	try
	{
		C.EnQueue(66);
		C.EnQueue(99);
	}
	catch (char*wrong)
	{
		cout<<wrong<<endl;
	}
	cout<<"查看队头元素:"<<endl;
	cout<<C.GetQueue()<<endl;
}

猜你喜欢

转载自blog.csdn.net/weixin_41937706/article/details/80101968