package Linear;
/*
* 将单链表(结点有2个域pre,next,pre为空)改为双向循环链表
*/
public class I {
public static void doubleDirection(Node h) {
Node p =h.next;
Node pre =h;
while (p!=null) {
p.pre=pre;
p=p.next;
pre=pre.next;
}
pre.next=h;
h.pre=pre;
}
public static void main(String[] args) {
Node h=NodeTool.CreateNodeList("abcde");
doubleDirection(h);
NodeTool.traverseLoopList(h);
System.out.println("---------------------");
Node p=h.pre;
while (p!=h) {
System.out.println(p.data);
p=p.pre;
}
System.out.println(h.data);
}
}