`

数据结构:链表

阅读更多
暑假再次系统学习《数据结构》!


链表,以某种顺序一个接一个的排列元素的列表。它是动态的,可以自由增加或者减少。




因为JAVA中没有指针,所以我们只能使用引用的概念,使用引用来充当指针的功能。

  public class LinkList {
       private int data;//保存在此结点的元素,比如链表中的1,2,3,4,……。
       private LinkList link;//在链表中引用下一个结点,类似指针作用,帮助我们指向一个结点的下一个结点的引用。
  }



链表中包含一个头结点与尾结点。很明显,这里的head,last都是LinkList实例的引用。

  public class LinkList {
      LinkList  head;//头结点
      LinkList  last;//尾结点。一般来说,这里的link为null。



构造链表:

  public class LinkList {
     public LinkList(int iData,LinkList iLink){
       this.data= iData;
       this. link= iLink;
    }



如果链表中只有一个元素。
LinkList list=new LinkList (88,null);
LinkList head= list;



从链表中获得数据(Data/Link的GET)。
  /**
   *获得当前结点的Data。
   */
  public int getData(){
       return data;
  }

   /**
   *获得link。link为当前结点指向的下一个引用。
   */
  public int getLink(){
        return link;
  }




从链表中设置数据(Data/Link的SET)。
  /**
   *设置当前结点的Date。
   */
  public void setData(int iData){
       data= iData;
  }

   /**
   *设置当前的link。使link指向当前结点的下一个结点。
   */
  public void setLink(int iLink){
       link= iLink;
  }



向链表的表头中添加新结点,从表头中删除结点。
LinkList head= new LinkList (88,head);//添加表头新结点。
LinkList head= head.getLink();//删除



在链表非头部的其它位置添加新结点。
 /**
   *修改,新结点放置在当前结点之后。
   */
  public void AddNewData(int iData){
       link= new LinkList(iData,link);
  }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics