简单无序链表


class Link
{
    public int iData;
    public double dData;
    public Link next;
    public Link(int i,double d)
    {
        this.iData=i;
        this.dData=d;
    }
    public void display()
    {
        System.out.print("{"+this.iData+","+this.dData+"}");
    }
}
class LinkList
{
    public Link first;
    public LinkList()
    {
        this.first=null;
    }
    public boolean isEmpty()
    {
        return this.first==null;
    }
    public void insertFirst(int i,double d)
    {
        Link newLink=new Link(i,d);
        newLink.next=this.first;
        this.first=newLink;
    }
    public Link deleteFirst()
    {
        Link firstLink=this.first;
        this.first=firstLink.next;
        return firstLink;
    }
    public void display()
    {
        if(this.isEmpty())
            return;
        Link current=this.first;
        while(current!=null)
        {
            current.display();
            current=current.next;
        }
    }
    public Link find(int key)
    {
        Link current=this.first;
        while(current!=null)
        {
            if(current.iData==key)
                return current;
            current=current.next;
        }
        return null;
    }
    public void delete(int key)
    {
        Link pre=this.first;
        Link current=this.first;
        while(current!=null)
        {
            if(current.iData==key)
            {
                if(current==this.first)
                    this.first=current.next;
                else
                    pre.next=current.next;
            }
            else
            {
                pre=current;
            }
            current=current.next;
        }
    }
}

posted @ 2013-06-07 09:16  刘文天  阅读(266)  评论(0编辑  收藏  举报