链接列表和构造函数

时间:2014-03-14 00:47:14

标签: java data-structures linked-list

我遇到了一个使用多种链接列表数据结构的大型源代码。例如,代码中使用的简单链表数据结构是使用Link类型的nextLink节点和初始化对象的构造函数。

public class Link {
    public int data1;
    public double data2;
    public Link nextLink;

    //Link constructor
    public Link(int d1, double d2) {
        data1 = d1;
        data2 = d2;
    }

    }

另一方面,另一段代码使用以下数据结构(双链表?):

public class ComplexLinkList {

    public static final int NEXT_BLOCK = Integer.MAX_VALUE;
    public static final int PREV_BLOCK = -1;

    //The var string holds the variable name 
    private String var;

    private int coverStart = PREV_BLOCK;

    private int coverEnd = NEXT_BLOCK;


   //Constructor ( copy Constructor ?)
    public ComplexLinkList(ComplexLinkList p) {
        this.var = p.var;
        this.coverEnd = p.coverEnd;
        this.coverStart = p.coverStart;

    }


 ----
 ----

}

构造函数接受ComplexLinkList类型的参数并初始化字段。两种实现之间的概念差异是什么?第二个是完全一个链表吗?

2 个答案:

答案 0 :(得分:2)

LinkedList意味着,有一些节点如下图所示连接。它可以单向或双向连接。您的第一个类具有成员变量nextLink以与下一个节点建立连接。但是第二类没有办法与另一个节点建立联系。

对于双向链表,它有2个成员变量与前一个节点和下一个节点连接。

Linked-List flow

答案 1 :(得分:0)

第一个是专门的链接列表(没有双重链接),它将data1data2作为卫星数据。第二个没有意义,但绝对不是一个链表。我认为你应该发布该类中的所有代码,以便我们能够告诉它的功能。