// queue.cpp

#include "queue.h"

Queue::Queue(){ first=0;}		// NULL 

void Queue::enqueue(int x)
{
	node *tmp = new node;
	tmp->key = x;
	tmp->next = first;
	first=tmp;
}

int Queue::dequeue()
{
	node *p, *p1;
	int x;
	if(first!=0)
	{
		p=first;
		p1=0;
		while(p->next!=0)
		{
			p1=p;
			p=p->next;
		}
		x = p->key;
		delete p;
		if(p1==0) first=0;
		else p1->next=0;

		return x;
	}
	return 0;
}

int Queue::isEmpty()
{
	return (first==0);
}



