Files
2006Scape/2006Redone Client/src/NodeList.java
T
2019-06-18 15:04:35 -04:00

102 lines
1.7 KiB
Java

// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
final class NodeList {
public NodeList() {
head = new Node();
head.prev = head;
head.next = head;
}
public void insertHead(Node node) {
if (node.next != null) {
node.unlink();
}
node.next = head.next;
node.prev = head;
node.next.prev = node;
node.prev.next = node;
}
public void insertTail(Node node) {
if (node.next != null) {
node.unlink();
}
node.next = head;
node.prev = head.prev;
node.next.prev = node;
node.prev.next = node;
}
public Node popHead() {
Node node = head.prev;
if (node == head) {
return null;
} else {
node.unlink();
return node;
}
}
public Node reverseGetFirst() {
Node node = head.prev;
if (node == head) {
current = null;
return null;
} else {
current = node.prev;
return node;
}
}
public Node getFirst() {
Node node = head.next;
if (node == head) {
current = null;
return null;
} else {
current = node.next;
return node;
}
}
public Node reverseGetNext() {
Node node = current;
if (node == head) {
current = null;
return null;
} else {
current = node.prev;
return node;
}
}
public Node getNext() {
Node node = current;
if (node == head) {
current = null;
return null;
}
current = node.next;
return node;
}
public void removeAll() {
if (head.prev == head) {
return;
}
do {
Node node = head.prev;
if (node == head) {
return;
}
node.unlink();
} while (true);
}
private final Node head;
private Node current;
}