0

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

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

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

这是有效的代码吗?

4

1 回答 1

3

不,这是无效的。

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

然而,你可以有一个构造函数,它使前一个和下一个元素成为它自己(this):

class DList {
    DList previous, next;

    public DList() {
        previous  = this;
        next = this;
    }
}
于 2013-04-14T22:36:27.727 回答