//数据类 class DATA2 { String key; String name; int age; } //定义链表类 class CLType { DATA2 nodedata=new DATA2(); CLType nextNode=null;//下一个节点 } 功能一:追加节点; CLType CLAddEnd(CLType head ,DATA2 nodeData) { //定义链表结构的变量 CLType node,htemp; if((node=new CLType())==null) { System.out.println("申请内存失败!"); return null; } else { node.nodeData=nodeData;//保存数据 node.nextNode=null;//设置节点引用为空,就是为表尾 if(head==null) { head=node; return head; } htemp=head;//将head赋给htemp while(htemp.nextNode!=null) { htemp=htemp.nextNode; } //将node赋到htemp后面 htemp.nextNode=node; return head; } } //功能二:插入头结点 CLType CLAddFirst(CLType head,DATA2 nodeData) { CLTpe node; if((node=new CLType())==null) { System.out.println("申请内存失败!"); return null; } else { node.nodeData=nodeData; //保存数据 node.nextNode=head; head=node; //头引用指向新增的节点 return head; } } //功能三:插入节点 CLType CLInsertNode() { }
在java中还有LinkList类能够实现链表的功能,在实现其下面的方法:java
public E elemnet(); //找到链表的头 public boolean offer(E o) ;//将指定元素增长到链表的结尾 public E peek();//找到但不删除链表的头 public E poll(); //找到并删除链表的头 public E remove();//检索并移除表头 public void addFirst(E o);在表头增长元素 public void addLast(E o);在表的结尾增长元素 public boolean offer(E p);在表的结尾增长元素 public E removeFirst();//删除链表的第一个元素 public E removeLast();//删除链表的最后一个元素