package mylink;
public class MyNode<E> {
public MyNode next;
public E e;
public MyNode () {
super();
}
public MyNode (E e, MyNode next) {
super();
this .next = next;
this .e = e;
}
}
package mylink;
import java.util.ArrayList;
public class Test {
private MyNode<String> A = new MyNode<String>("A" , null );
private MyNode<String> B = new MyNode<String>("B" , null );
private MyNode<String> C = new MyNode<String>("C" , null );
private MyNode<String> D = new MyNode<String>("D" , null );
private MyNode<String> E = new MyNode<String>("E" , null );
private MyNode<String> F = new MyNode<String>("F" , null );
private MyNode<String> G = new MyNode<String>("G" , null );
public void createLink () {
A.next = B;
B.next = C;
C.next = D;
D.next = E;
E.next = F;
F.next = G;
G.next = C;
}
/**
* 根据链表中的节点关系,遍历链表结构
*/
public void showLink () {
ArrayList<MyNode> arr = new ArrayList<MyNode>();
int k = 0 ;
System.out.print(A.e + "--->" );
while (A != null ) {
k++;
A = A.next;
System.out.print(A.e + "--->" );
if (!arr.contains(A)) {
arr.add(A);
} else {
System.out.println("......是一个环路的链表" );
break ;
}
}
}
public static void main (String[] args) {
Test link = new Test();
link.createLink();
link.showLink();
}
}