求解算法!!
应用指针,编写队列的基本操作函数
[解决办法]
class queue
{
public:
queue()
{
front=new node;
rear=front;
front-> next=NULL;
}
void enqueue(int e)
{
rear-> next=new node;
rear-> next-> data=e;
rear=rear-> next;
rear-> next=NULL;
}
void delqueue()
{
if(rear==front)
{
cout < < "the queue is empty! ";
}
else
{
node *temp=front;
front=front-> next;
delete temp;
}
}
int getfront(){ return front-> next-> data;}
void visit()
{
node *s=front;
while(s-> next)
{
int e=s-> next-> data;
cout < <e < < " ";
s=s-> next;
}
}
protected:
struct node
{
int data;
node *next;
}*front,*rear;
};
void main()
{
int data;queue q;
cin> > data;
while(data)
{
q.enqueue(data);
cin> > data;
}
q.delqueue();
q.visit();
cout < <q.getfront();
}