用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!