顺序队列

#include<iostream.h>
const int QueueSize=100;
class CirQueue
{
public:
CirQueue(){front=rear=QueueSize-1;}
~CirQueue(){};
void EnQueue(int x);
int DeQueue();
int GetQueue();
int Empty(){if(front==rear)return 1;else return 0;}
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];
}
int main()
{
CirQueue cir;
cir.EnQueue(6);
cout<<"输入第一个元素之后,头元素为:"<<cir.GetQueue()<<endl;
cir.EnQueue(88);
cout<<"输入第二个元素之后,头元素为:"<<cir.GetQueue()<<endl;
cout<<"判断队列是否为空:";
cout<<cir.Empty()<<endl;
cir.DeQueue();
cout<<"删除一个元素之后,输出头元素:"<<cir.GetQueue()<<endl;
cout<<"判断队列是否为空:";
cout<<cir.Empty()<<endl;
cout<<"再删除一个元素之后,判断队列是否为空:";
cout<<cir.Empty()<<endl;
return 0;

}




猜你喜欢

转载自blog.csdn.net/qewww12/article/details/80086419