【第五节】Java代码实现链表

来源:互联网 发布:北京超图软件 股票 编辑:程序博客网 时间:2024/06/06 08:25
package com.java.chapterFive;public class LinkListApp {    /**     * @param args     */    public static void main(String[] args) {        LinkList thelist=new LinkList();            thelist.insertFirst(22, 2.99);            thelist.insertFirst(44, 4.99);            thelist.insertFirst(66, 6.99);            thelist.insertFirst(88, 8.99);            thelist.displayList();            Link f=thelist.find(44);            if(f!=null)                System.out.println("找到了关键值"+f.iData);            else                System.out.println("没有找到该值");            Link d=thelist.delete(66);            if(d!=null)                System.out.println("已经删除该值"+d.iData);            else                System.out.println("没有删除");            thelist.displayList();    }}///////////////////////////////////////////////////////////////////////////////////////////class Link{    public int iData;    public double dData;    public Link next;    public long LData;//----------------------------------------------------------------------------------------    public Link(int id,double d){        this.iData=id;        this.dData=d;    }    public Link(long d){        LData=d;    }//----------------------------------------------------------------------------------------    public void displayLink(){        System.out.println("{"+this.iData+" "+this.dData+"}");    }    public void displayLongLink(){        System.out.print(LData+" ");    }}///////////////////////////////////////////////////////////////////////////////////////    class LinkList{        public Link first;//------------------------------------------------------------------------------------------    public LinkList(){            first=null;        }//----------------------------------------------------------------------------------------    public void insertFirst(int id,double dd){        Link newLink=new Link(id,dd);        newLink.next=first;        first=newLink;    }//---------------------------------------------------------------------------------------    public Link find(int key){        Link current=first;        while(current.iData!=key){            if(current.next==null)                return null;            else                current=current.next;        }        return current;    }//---------------------------------------------------------------------------------------    public Link delete(int key){        Link current=first;        Link previous=first;        while(current.iData!=key)            {                    if(current.next==null)                        return null;                    else                    {                        previous=current;                        current=current.next;                    }            }            if(current==first)                first=first.next;            else                previous.next=current.next;            return current;        }//----------------------------------------------------------------------------------------    public void displayList(){        System.out.println("List (first--->last): ");        Link current=first;        while(current!=null){            current.displayLink();            current=current.next;        }        System.out.println(" ");    }//----------------------------------------------------------------------------------------}
0 0
原创粉丝点击