2013-04-14 25 views
0

創建與指向本身使用自作爲參數

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

參考一個節點的雙向鏈表創建實例,Dnode構造函數採用DNode(Dnode P,對象0,Dnode N)

是這個有效的代碼?

回答

3

不,這是無效的。

您無法在定義它的表達式中使用sentinel變量。

但是,您可以有一個構造,這使得前面和後面的元素本身(this):

class DList { 
    DList previous, next; 

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