文件名称:关于java中链表的用法
文件大小:352KB
文件格式:DOC
更新时间:2011-12-26 06:55:34
规划和
链表类List的源代码如下: import Java.io.*; public class List { /*用变量来实现表头*/ private Node Head=null; private Node Tail=null; private Node Pointer=null; private int Length=0; public void deleteAll() /*清空整个链表*/ { Head=null; Tail=null; Pointer=null; Length=0; } public void reset() /*链表复位,使第一个结点成为当前结点*/ { Pointer=null; } public boolean isEmpty() /*判断链表是否为空*/ { return(Length==0); } public boolean isEnd() /*判断当前结点是否为最后一个结点*/ { if(Length==0) throw new Java.lang.NullPointerException(); else if(Length==1) return true; else return(cursor()==Tail); } public Object nextNode() /*返回当前结点的下一个结点的值,并使其成为当前结点*/ { if(Length==1) throw new Java.util.NoSuchElementException(); else if(Length==0) throw new Java.lang.NullPointerException(); else { Node temp=cursor(); Pointer=temp; if(temp!=Tail) return(temp.next.data); else throw new Java.util.NoSuchElementException(); } } public Object currentNode() /*返回当前结点的值*/ { Node temp=cursor(); return temp.data; } public void insert(Object d) /*在当前结点前插入一个结点,并使其成为当前结点*/ { Node e=new Node(d); if(Length==0) { Tail=e; Head=e; } else { Node temp=cursor(); e.next=temp; if(Pointer==null) Head=e; else Pointer.next=e; } Length++; } public int size() /*返回链表的大小*/ { return (Length); }