2014-04-15 32 views
0

幾個星期前我只聽說過鏈接列表,現在我進入循環鏈接列表。問題很簡單:在一個只有一個元素的循環列表中,下一個節點是他自己的,也就是說它是鏈接回自己還是爲null?因爲如果我嘗試在下一個節點位置添加一個新元素,我也將覆蓋當前節點(如果列表只有一個元素並且鏈接回自己,那麼將首先覆蓋)。將節點添加到僅包含一個節點的循環鏈接列表中

謝謝。

回答

0

在只有一個元素的循環列表中,它是否是下一個節點本身,即是否鏈接回自己或爲null?

下一個節點是他自己,而不是NULL

enter image description here

如果我嘗試在接下來的節點位置,我也將覆蓋本節點添加新的元素...

如果目前只有一個節點,要添加一個新節點,它相當於將註釋添加到其結尾。

New->next = Cur; // same as: New->next = Rear->next; 
Prev->next = New; // same as: Rear->next = New; 
Rear = New; 

退房this presentation瞭解更多詳情。

+0

好吧,那麼我不知道如何驗證第一個節點是否是他自己。我嘗試這樣做: 'this.base = new NodeCLL (elem,this.base);如果(this.base.next.equals(this.base))System.out.println(「bla」);' 裏面有一個add方法,並且它給出nullpointerexception – rmarques

+0

@ user3267330你可以檢查他們的地址。 – herohuyongtao

+0

這不是什麼.equals做的嗎?它檢查(默認情況下)對象是否相同,但是它給了我一個空指針異常。你回答了我關於循環鏈表概念的問題,也許我會讓其他文章特定於Java。 – rmarques