class Link {
public long dData;
public Link next;
public Link(long d){
dData = d;
}
public void displayLink(){
System.out.print(dData + " ");
}
}
public class FirstLastList1 {
private Link first;
private Link last;
public FirstLastList1() {
first = null;
last = null;
}
public boolean isEmpty() {
return first == null;
}
public void insertLast(long dd){
Link newLink = new Link(dd);
if (isEmpty())
first = newLink;
else
last.next = newLink;
last = newLink;
}
public long deleteFirst(){
long temp = first.dData;
if (first.next == null)
last = null;
first = first.next;
return temp;
}
public void displayList() {
Link current = first;
while (current != null){
current.displayLink();
current = current.next;
}
System.out.println("");
}
}
class LinkQueue {
private FirstLastList1 theList;
public LinkQueue() {
theList = new FirstLastList1();
}
public boolean isEmpty(){
return theList.isEmpty();
}
public void insert(long j){
theList.insertLast(j);
}
public long remove()
{
return theList.deleteFirst();
}
public void displayQueue() {
System.out.print("Queue: ");
theList.displayList();
}
public static void main(String[] args) {
LinkQueue theQueue = new LinkQueue();
theQueue.insert(20);
theQueue.insert(40);
theQueue.displayQueue();
theQueue.insert(60);
theQueue.insert(80);
theQueue.displayQueue();
theQueue.remove();
theQueue.remove();
theQueue.displayQueue();
}
}