package Test;
public class LinkedListQueue {
public static void main(String[] args) {
// TODO Auto-generated method stub
Queue <Integer> queue=new Queue<Integer>();
queue.add(1);
queue.add(2);
queue.add(3);
queue.add(4);
queue.add(5);
System.out.println(queue.pop());
System.out.println(queue.pop());
System.out.println(queue.pop());
System.out.println(queue.pop());
System.out.println(queue.pop());
}
}
class Node<E>{
public Node(E data2) {
this.data=(E) data2;
}
// TODO Auto-generated constructor stub
public E data;
public Node<E> next=null;
}
class Queue<E>{
private Node<E> Head=null;
private Node<E> tail=null;
public boolean isEmpty(){
boolean a=(Head==null&&tail==null);
return a;
}
public void add(E data) {
Node <E> newNode=new Node<E>(data);
if(Head==null&&tail==null)
{
Head=tail=newNode;
//队列是空的
}
else {
tail.next=newNode;
tail=newNode;//添加
}
}
public E pop()//先进先出
{
if(this.isEmpty())
{
return null;//这个是空的
}
E data=Head.data;
Head=Head.next;
return data;//返回出栈的元素
}
public int size() {
Node<E>temp=Head;
int n=0;
while(temp!=null)
{
n++;
temp=temp.next;
}
return n;
}
}