1存储数据的变量 | 2存储下一个节点的变量 | 3设计一些存储其他信息的内容 |
package yc1004;
public class N {
Object value;
N next;
public N(Object value,N next) {//构造方法
this.value=value;//数据存在value中
this.next=next;
}
public static void main(String[]args) {
N node1=new N("医生",null);构造出链表
N node2=new N("预言家",null);
N node3=new N("狼人",null);
N node4=new N("武士",null);
N node5=new N("平民",null);
N node6=new N("猎人",null);
N node7=new N("射手",null);
node1.next=node2;连接链表
node2.next=node3;
node3.next=node4;
node4.next=node5;
node5.next=node6;
node6.next=node7;
N temp=node1;打印链表
while(temp!=null) {
System.out.println(temp.value+",");
temp=temp.next;取下一个节点,继续循环判断
}
String name = "平民";找到平民
N temp1 = node1;
while(temp1!= null){
if(temp1.value.equals (name)){
System.out.println ("查找到了平民");
System.out.println(temp1.value);
System.out.println();
break;
}
temp1=temp1.next;
}
N temp2=node1;
while(temp2!=null) {
if(temp2.next.next==null) {证明temp2是倒数第二个节点
temp2.next=null;
System.out.println("已删除最后一个");
}
temp2=temp2.next;
}
temp = node1;
while(temp != null){
System.out.println (temp.value + ",");
temp = temp.next;
}
System.out.println ();
}
}