//链表节点
public class Node {
Node next = null;
int data;
public Node(int data) {
this.data = data;
}
}
public class MyQueue<E> {
Node head = null;//队列头
Node tail = null;//队列尾
/**
* 插入队列
* @param data
*/
public void put(Integer data){
Node newNode = new Node(data);
if (head==null&&tail ==null){
head = newNode;
tail = newNode;
}else {
tail.next=newNode;
tail =newNode;
}
}
/**
* 判断队列是否为空
* @return
*/
public Boolean isEmpty(){
return head==tail;
}
/**
* 出队列
* @return
*/
public Integer pop(){
if (this.isEmpty()){
return null;
}
int data = head.data;
head=head.next;
return data;
}
public int size(){
int count = 0;
Node tmp = head;
while(tmp!=null){
count++;
tmp=tmp.next;
}
return count;
}
}
public class TestQueue {
public static <E> void main(String[] args) {
MyQueue myQueue=new MyQueue();
myQueue.put(1);
myQueue.put(2);
myQueue.put(3);
Integer pop = myQueue.pop();
System.out.println("pop="+pop);
System.out.println(myQueue.size());
}
}
版权声明:本文为qq_43791846原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。