-3

我已經在Java中實現了單行列表和雙向鏈表,現在我的老師要求我使用單向和雙向鏈表(Java)實現數組。我遇到了一些關於如何使用數組實現singlylinkedlist和雙向鏈表的解決方案,但我需要其他方法。誰可以幫我這個事。我們如何使用單向和雙向鏈表來模擬/實現一個數組?

+3

顯示你的*解決方案*,可能人們會給你一個手。 – 2013-03-20 06:23:20

+1

首先列出陣列的所有屬性。那麼告訴哪個屬性是你的問題? – Azodious 2013-03-20 06:24:47

+1

如果你分享你的嘗試,人們會很樂意提供幫助。與此同時,我建議查看[這篇文章](http://mattgemmell.com/2008/12/08/what-have-you-tried/)。 – jahroy 2013-03-20 06:25:50

回答

2

我不知道您的確切分配。但是,假設通過「實現數組」來提供執行數組基本功能的方法,那麼請考慮數組允許您執行的操作。

數組的大小在創建時已經確定,並且不可調整大小,因此,使用指定其大小的構造函數實現鏈表,並且不要讓列表隨後增大或減小。當時創建所有節點可能是有用的,但可能不是嚴格要求。

一個數組提供隨機訪問(您可以訪問或分配給數組中的任何槽,而不是鏈接列表的前端/末端唯一方法),因此實現獲取和設置索引的方法。如果你知道圍繞鏈表的方式,這應該是一件非常簡單的事情(只需從頭部或尾部迭代儘可能多的單元格,以達到指定的索引)。

它需要能夠做到:

// the constructor with size specified. 
PseudoArray pa = new PseudoArray(10); 

// assigning to arbitrary indices 
pa.set(0, "Hello, I am the first element."); 
pa.set(5, "I am in the middle of the list."); 

// reading from arbitrary indices 
pa.get(0); 
pa.get(5); 

您可能需要添加一些東西像確保只有特定類型的對象得到它,但基本上,隨機接入和固定,預定大小最大的問題。

希望我已經理解你的問題。

+0

這是一個巨大的答案。歡迎來到StackOverflow! – jahroy 2013-03-20 06:55:46