package com.LinkList;
public class Node {
public Object item;//真正的存放数据
public Node next;//指向后一个节点
public Node pre;//指向前一个节点
public Node(Object name){
this.item = name;
}
@Override
public String toString() {
return "Node{" +
"item=" + item +
'}';
}
public static void main(String[] args) {
Node a = new Node("a");
Node b = new Node("b");
Node c = new Node("c");
//链接三个节点,形成双向链表;
a.next=b;
b.next=c;
c.pre=b;
b.pre=a;
//头节点和尾节点
Node first =a;
Node end = c;
//演示从头到尾遍历
while(true){
if(first==null){
break;
}
System.out.println(first);
first = first.next;
}
System.out.println("-------------");
//演示从后往前遍历
while(true){
if(end==null){
break;
}
System.out.println(end);
end = end.pre;
}
System.out.println("-----------------");
//加入一个Node
Node d=new Node("d");
d.next=c;
d.pre=b;
c.pre=d;
b.next=d;
first = a;
while(true){
if(first==null){
break;
}
System.out.println(first);
first = first.next;
}
}
}
|