日期:2014-05-20  浏览次数:20801 次

用java实现 链表 的一个问题,在线等……
//头插入法

class   Link{
public   int   iData;
public   double   dData;

public   Link   next;//创建一个空引用

public   Link(int   id,double   dd){//初始化链表
idata=id;
dData=dd;
}

public   void   displayLink(){//输出链表
System.out.println( "{ "+iData+ ", "+dData+ "} ");
}
}//end   class   Link

//操作链表的类
class   LinkList{
private   Link   first;//创建一个空引用

public   void   LinkList(){
first=null;
}

public   boolean   isEmpty(){
return(first==null) //判断链表是否为空链表
}

//插入链接点
public   void   insertFirst(int   id,double   dd){
//问题区-------------------------------------------
Link   newLink=new   Link(id,dd);//创建一个链表对象

newLink.next=first;//请高手解析一下这句   “自引用”   该如何理解

first=newLink;
}

//其他代码略……
}

请高手解答一下链表的   “自引用”   该如何理解


------解决方案--------------------
是不是写错了,应该这样写:
newLink.next = first.next;
first.next = newLink;
这才是头插法。
------解决方案--------------------
同意楼上的哈
---
newLink.next = first.next;
first.next = newLink;
这才是头插法。


------解决方案--------------------
自引用应该是引用和自身类型相同的对象,在这个程序中是指next指向一个Link类的对象。
------解决方案--------------------
插入一个头结点,让newLink.next指向first,和C++里的pNode-> next一样啊
------解决方案--------------------
严重关注!
------解决方案--------------------
UP!