package JavaProject;
public class TestLinkQueue {
public static void main(String [] args){
LinkQueue<String> queue = new LinkQueue<String>();
queue.pop();
queue.push("aaaa");
queue.push("bbbb");
System.out.println("此时队头元素是:" + queue.front());
queue.pop();
System.out.println("执行pop之后队头元素是:" + queue.front());
System.out.println("未执行clear之后元素个数是:"+queue.size);
queue.clear();
System.out.println("执行clear之后元素个数是:"+queue.size);
}
}
class LinkQueue<T>{
public class Node{
T data;
Node next;
public Node(T data,Node next){
this.data = data;
this.next = next;
}
}
private Node front;
private Node rear;
int size;
public LinkQueue(){
front = null;
rear = null;
size = 0;
}
public boolean empty(){
return size == 0;
}
public int length(){
return size;
}
public void push(T element){
if(front == null){
front = new Node(element,null);
rear = front;
}
else{
Node tempNode = new Node(element,null);
rear.next = tempNode;
rear = tempNode;
}
size++;
}
public T front(){
return front.data;
}
public T pop(){
if(empty() == true){
System.out.println("队列已空");
}
else{
Node del = front;
front = del.next;
del.next = null;
size--;
return del.data;
}
return null;
}
public void clear(){
front = null;
rear = null;
size = 0;
}
}