void enqueue(int elem); //插入元素为elem 的队尾远么
int dequeue(); //删除队头元素,并返回其值
void traverse(); //遍历队列中的元素
};
queue.cpp
#include "queue.h"
void queue::enqueue(int elem)
{
list *newlist=new list;
newlist->data=elem;
newlist->next=NULL;
if(front==rear)//说明是空队列
{
front->next = newlist;
rear=newlist;
}
else
{
rear->next=newlist;
rear=newlist;
}
}
int queue::dequeue() //从队头出去
{
int elem;//用于记录出队列的元素
list *temp=new list; //用于临时存储要出队列队头
if(front==rear)return -1;
else
{
temp = front->next;
elem=temp->data;
front->next=temp->next;
}
delete temp;
return elem;
}
void queue::traverse() //遍历整个队列
{
list *temp;
cout<<"从队头到队尾的元素分别为:"<<endl;
for(temp=front->next;temp->next!=NULL;temp=temp->next)
{
cout<<temp->data<<" ";