上次发表出现问题,这次更正后重新发表
java 没有指针,无法直接访问内存,这样的设计提高了安全,降低了编程的复杂度。虽然没有指针但是java依然可以实现链表数据结构,因为java有引用,可以引用一块指定的内存空间,可以用引用建立指针模型从而实现链表结构。
有了理论我们就可以开始实践。链表是有节点构成的,一个节点有两个成员,一个是该节点的数据,另一个是引向下一个节点的地址。可以用构造函数来初始化着两个成员。
public IntNode(int initialDate,IntNode initialLink){
date = initialDate;
link = initialLink;
}
然后用一个方法添加节点。
<span style="font-family: Arial, Helvetica, sans-serif;"> public void addNodeAfter(int element){ </span>
<span style="font-family: Arial, Helvetica, sans-serif;"> link = new IntNode(element, link);</span>
}
现在已经可以构建一个链表,然后添加数据。但是仅有这些是不够的,我们还需要删除节点,查找节点,查看节点数据,查看节点指针,查看节点长度,以及修改节点数据指针等等。。。着就需要写很多的方法。方法都不复杂下面是完整的 IntNode类的代码,包含测试的main函数。参考图片在代码下面。
package one.GD.IntNode;
public class IntNode {
private int date;
private IntNode link;
public IntNode(int initialDate,IntNode initialLink){
date = initialDate;
link = initialLink;
}
public void addNodeAfter(int element){
link = new IntNode(element, link);
}
public int getDate(){
return date;
}
public IntNode getLink(){
return link;
}
public void removeNodeAfter(){
lin