链表实现自定义的队列

来源:互联网 发布:淘宝企业店铺公司更改 编辑:程序博客网 时间:2024/05/22 16:41


public class LinkQueue<T> {


private class Node{


private T data;


private Node next;



public Node(T data ,  Node next){
this.data = data;
this.next = next;
}
}


private Node front; 


private Node rear;


private int size;



public LinkQueue(T element){
front = new Node(element , null);


rear = front;
size++;
}


public int length(){
return size;
}


public void add(T element){


if (front == null){
front = new Node(element , null);


rear = front;
}else{


Node newNode = new Node(element , null);


rear.next = newNode;


rear = newNode;
}
size++;
}


public T remove(){
Node oldFront = front;
front = front.next;
oldFront.next = null;
size--;
return oldFront.data;
}






public boolean empty(){
return size == 0;
}


public void clear(){


front = null;
rear = null;
size = 0;
}






}