package org.huchao.baseStructs;
/**
* 成人版java数据结构之单链表之添加
* @author huchao
* @since 2007.11.
*/
public class AddNode {
private Object item;
private AddNode next;
public AddNode(){
}
public AddNode(Object item){
this.item = item;
this.next = null;
}
public AddNode(Object item,AddNode next){
this.item = item;
this.next = next;
}
public static boolean isLast(AddNode instanse){
boolean suc = false;
if(null == instanse.getNext()){
System.out.println(instanse.getItem() + "是最后一个!");
suc = true;
}
return suc;
}
public static void itratorThem(AddNode instanse){
for(AddNode curr = instanse;!isLast(curr);curr = curr.getNext()){
System.out.println(curr.getItem() + "的P眼被" + curr.getNext().getItem() + "的JJ插入");
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
AddNode nodeA = new AddNode(new String("班长"));
AddNode nodeB = new AddNode(new String("排长"),nodeA);
AddNode nodeC = new AddNode(new String("连长"),nodeB);
System.out.println("当兵的过河,河里有吃球鱼,该怎么过呢?");
itratorThem(nodeC);
System.out.println("走着走着......");
System.out.println("吃球鱼没来,来了个大鳄鱼,大鳄鱼把排长给吞了!");
nodeC.setNext(nodeA);
nodeB = null;
itratorThem(nodeC);
System.out.println("走着走着......");
System.out.println("排长挣脱了大鳄鱼,逃回来了,重整队形!");
AddNode nodeD = new AddNode(new String("排长"),null);
nodeC.setNext(nodeD);
nodeD.setNext(nodeA);
itratorThem(nodeC);
}
public Object getItem() {
return item;
}
public void setItem(Object item) {
this.item = item;
}
public AddNode getNext() {
return next;
}
public void setNext(AddNode next) {
this.next = next;
}
}