package test2;
class dLinkNode{
private long lData;
public dLinkNode pre;
public dLinkNode next;
public dLinkNode(long lData){
pre = null;
next = null;
this.lData = lData;
}
public void displayNodeData(){
System.out.println("lData:"+this.lData);
}
}
public class DoublyLink {
public dLinkNode first;
public dLinkNode last;
public DoublyLink(){
first = null;
last = null;
}
public void insertFront(long lData){
dLinkNode temp = new dLinkNode(lData);
if(first == null){
first = temp;
last = temp;
temp.next = null;
temp.pre = null;
}
else{
temp.next = first;
first = temp;
temp.pre = null;
}
}
public void deleteFront(){
if(first == null || first.next == null){
first = null;
last = null;
return;
}else{
dLinkNode temp = first;//将被删除节点的next置空;
first = first.next;
first.pre = null;
temp.next = null;
}
}
public void displayDoublyLink(){
dLinkNode temp = first;
System.out.println("--------");
while(temp != null){
temp.displayNodeData();
temp = temp.next;
}
System.out.println("--------");
}
}
class TestDoublyLink{
public static void main(String args[]){
DoublyLink dlink = new DoublyLink();
dlink.insertFront(1);
dlink.insertFront(2);
dlink.insertFront(3);
dlink.insertFront(4);
dlink.displayDoublyLink();
dlink.deleteFront();
dlink.displayDoublyLink();
dlink.deleteFront();
dlink.displayDoublyLink();
dlink.deleteFront();
dlink.displayDoublyLink();
dlink.deleteFront();
dlink.displayDoublyLink();
}
}
运行结果:
--------
lData:4
lData:3
lData:2
lData:1
--------
--------
lData:3
lData:2
lData:1
--------
--------
lData:2
lData:1
--------
--------
lData:1
--------
--------
--------
Java实现双向链表
最新推荐文章于 2023-04-23 16:09:47 发布