#include<iostream>
using namespace std;
class Queue
{
public:
Queue();
~Queue();
void EnQueue(int x);//入队
int DeQueue();//出队
int GetQueue();//取队头
bool IsEmpty();//判空
private:
struct QueueNode
{
int data;
QueueNode *next;
}node;
QueueNode *front;
QueueNode *rear;
};
Queue::Queue()
{
front=NULL;
rear=NULL;
}
Queue::~Queue()
{
while(front)
{
QueueNode *tem=front;
front=front->next;
delete tem;
}
}
void Queue::EnQueue(int x)
{
if(front==NULL)
{front=rear=new QueueNode(node);
front->data=x;}
else
{
QueueNode *newqueuenode=new QueueNode(node);
newqueuenode->data=x;
rear->next=newqueuenode;
rear=newqueuenode;
rear->next=NULL;
}
}
int Queue::DeQueue()
{
if(IsEmpty())
{
cout<<"Error,queue is empty !";
}
QueueNode *tem=front;
front=front->next;
delete tem;
return 0;
}
int Queue::GetQueue()
{
if(IsEmpty())
{
cout<<"Error,queue is empty !";
}
return front->data;
}
bool Queue::IsEmpty()
{
if(front==NULL)
return 1;
else
return 0;
}
int main()
{
Queue s;
for(int i=0;i<5;i++)
{
s.EnQueue(i);
}
while(!s.IsEmpty())
{
cout<<s.GetQueue()<<" ";
s.DeQueue();
}
cout<<endl;
return 0;
}
using namespace std;
class Queue
{
public:
Queue();
~Queue();
void EnQueue(int x);//入队
int DeQueue();//出队
int GetQueue();//取队头
bool IsEmpty();//判空
private:
struct QueueNode
{
int data;
QueueNode *next;
}node;
QueueNode *front;
QueueNode *rear;
};
Queue::Queue()
{
front=NULL;
rear=NULL;
}
Queue::~Queue()
{
while(front)
{
QueueNode *tem=front;
front=front->next;
delete tem;
}
}
void Queue::EnQueue(int x)
{
if(front==NULL)
{front=rear=new QueueNode(node);
front->data=x;}
else
{
QueueNode *newqueuenode=new QueueNode(node);
newqueuenode->data=x;
rear->next=newqueuenode;
rear=newqueuenode;
rear->next=NULL;
}
}
int Queue::DeQueue()
{
if(IsEmpty())
{
cout<<"Error,queue is empty !";
}
QueueNode *tem=front;
front=front->next;
delete tem;
return 0;
}
int Queue::GetQueue()
{
if(IsEmpty())
{
cout<<"Error,queue is empty !";
}
return front->data;
}
bool Queue::IsEmpty()
{
if(front==NULL)
return 1;
else
return 0;
}
int main()
{
Queue s;
for(int i=0;i<5;i++)
{
s.EnQueue(i);
}
while(!s.IsEmpty())
{
cout<<s.GetQueue()<<" ";
s.DeQueue();
}
cout<<endl;
return 0;
}