public class LinkNode<T> {
private T obj;// 节点内的数据对象
private LinkNode<T> prev;// 保存对下一个节点的引用
private LinkNode<T> next;// 保存对上一个节点的引用
public LinkNode(T obj) {
this.obj = obj;
}
public void setObj(T obj) {
this.obj = obj;
}
public Object getObj() {
return obj;
}
public LinkNode<T> getPrev() {
return prev;
}
public void setPrev(LinkNode<T> prev) {
this.prev = prev;
}
public LinkNode<T> getNext() {
return next;
}
public void setNext(LinkNode<T> next) {
this.next = next;
}
}
public class LinkList<T> {
private LinkNode<T> first = null;
private LinkNode<T> last = null;
public void addNode(T obj) {
LinkNode<T> newnode = new LinkNode<T>(obj);
if (first == null) {
first = newnode;
last = newnode;
} else {
LinkNode<T> node = first;
while (node.getNext() != null) {
node = node.getNext();
}
node.setNext(newnode);
newnode.setPrev(node);
last = newnode;
}
}
}