同样有两个引用,第一个front引用指向队列第一个元素,rear引用指向最后一个引用
class LinkQueue {
//节点
class Entry {
int data;
Entry next;
public Entry() {
this.data = -1;
this.next = null;
}
public Entry(int val) {
this.data = val;
this.next = null;
}
}
Entry front;
Entry rear;
int userSize;
public LinkQueue() {
this.userSize = 0;
}
//是否为空
public boolean isEmpty() {
return userSize == 0;
}
// 入队
public void push(int val) {
Entry cur = new Entry(val);
if (isEmpty()) {
front = cur;
rear = cur;
} else {
rear.next = cur;
rear = rear.next;
}
userSize++;
}
//出队
public void pop() {
if (isEmpty()) {
throw new UnsupportedOperationException("空空如也");
} else {
front = front.next;
userSize--;
}
}
public void show() {
Entry cur = front;
while (cur != null) {
System.out.print(cur.data + " ");
cur = cur.next;
}
System.out.println();
}
}