用一个指向自身的节点创建一个双向链表

public DList(){
 Dnode sentinel= new DNode(sentinel, null, sentinel);
}


供参考,Dnode构造函数采用DNode(Dnode p,Object 0,Dnode n)

这是有效的代码吗?

最佳答案

不,这是无效的。

您不能在定义它的表达式中使用sentinel变量。

但是,您可以有一个构造函数,该构造函数使前一个元素和下一个元素成为其自身(this):

class DList {
    DList previous, next;

    public DList() {
        previous  = this;
        next = this;
    }
}

关于java - 使用self作为参数创建实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16005151/

10-11 01:07