定义循环单链表类,用来实现循环单链表
public class CycleNode {
//节点内容
int data;
//在循环链表中,只有一个节点的循环链表的下一个节点指向其自身
CycleNode next = this;
//构造函数
public CycleNode(int data) {
this.data = data;
}
//获取下一个节点
public CycleNode next() {
return this.next;
}
//获取节点中的数据
public int getData() {
return this.data;
}
//插入节点
public void insertNode(CycleNode node) {
CycleNode nextNext = next;
this.next = node;
node.next = nextNext;
}
}
测试程序,用来测试循环单链表。
public class TestCycleNode {
public static void main(String[] args) {
// TODO Auto-generated method stub
CycleNode n1 = new CycleNode(1);
CycleNode n2 = new CycleNode(2);
CycleNode n3 = new CycleNode(3);
CycleNode n4 = new CycleNode(4);
CycleNode n5 = new CycleNode(5);
n1.insertNode(n2);
n2.insertNode(n3);
n3.insertNode(n4);
n4.insertNode(n5);
System.out.println(n1.next.getData());
System.out.println(n2.next.getData());
System.out.println(n3.next.getData());
System.out.println(n4.next.getData());
System.out.println(n5.next.getData());
}
}