publicvoidaddTail(int value){
Entry P = head;
Entry N =newEntry(value);//要插入的节点while(P.getNext()!= null){
P = P.getNext();//找到最后一个节点并保存到P}
P.setNext(N);
N.setNext(null);}
删除头结点:
publicvoiddeleteHead(){
head = head.getNext();//直接将head的下一个节点变为头节点}
删除尾节点:
publicvoiddeleteTail(){
Entry P = head;while(P.getNext().getNext()!= null){//此处找P的是尾节点前一个节点
P = P.getNext();//直接将P.Next置空 }
P.setNext(null);}
以指定值删除单链表的元素:
publicvoiddeleteValue(int value){
Entry P = head;
Entry T =newEntry();while(P.getNext()!= null){if(P.getNext().getValue()== value){//此处P是相等节点的前一个节点
T = P.getNext();//保存的是相等的节点
P.setNext(T.getNext());//此处是将相等节点的下一个节点给P.Next}else{
P = P.getNext();}}}
打印单链表:
publicvoidshow(){for(Entry P = head; P != null; P = P.getNext()){//循环停止条件为P不为空
System.out.println(P.getValue()+" ");}}
节点:public class Entry { private int value; //保存当前节点的值 private Entry next; //保存的是下一个节点 public Entry(int value){ this.value = value ; } public Entry(){} publ...