//自己用链表实现一个队列,一头进一头出
public class MyQueue {
static class Node {
int value;
Node next;
Node(int value) {
this.value = value;
}
}
private Node front = null;
private Node rear = null;
private int size = 0;
public void push(int element) {
//尾插
size++;
if (rear != null) {
rear.next = new Node(element);
rear = rear.next;
} else {
//链表为空时
front = rear = new Node(element);
}
}
public int pop() {
//头删
int element = front.value;
size--;
front = front.next;
if (front == null) {
rear = null;
}
return element;
}
public int front() {
return front.value;
}
public int rear() {
return rear.value;
}
public int size() {
return size;
}
public boolean isEmpty() {
return size == 0;
}
}