2011-03-09 207 views
1

我有一個問題在這裏,執行姓和名的排序雙向鏈表。排序的雙向鏈表的Java

向每個鏈接添加一個字段,指示按字母順序排列的下一個名字;現有的下一個鏈接用於指示按字母順序排列的下一個姓氏。您還需要列表的第二個根鏈接 - 現有的根鏈接表示按字母順序排列的第一個姓氏,並且您需要一個指示按字母順序排列的第一個姓氏。請注意,對於列表中輸入的每個名稱,您仍然只有一個鏈接對象。

已經做到了這一點,讓你的插入,查找任何必要的修改和刪除方法,使兩者交錯名單維護。同時根據需要更新運行時估算以保持準確。

最後,添加第二個的查找方法,它在第一個名字,並返回所有的全名包括名字和由名字的字母順序進行打印名稱的列表的第二顯示方法。確保你給出了這些方法的運行時估計。

而且我完全茫然,如何做到這一點。我已經創建了一個單一的鏈表,並帶有名字和姓氏,但是就我所能得到的而言。

任何幫助將是偉大的:D

謝謝。

+0

家庭作業?如果是這樣,它應該相應標記。 – Nailuj 2011-03-09 15:58:00

+0

這似乎是一個家庭工作的問題。如果是,添加家庭作業標籤。 – Manoj 2011-03-09 16:01:44

+0

固定(10多個字符) – Brendan 2011-03-09 16:02:23

回答

1
  1. 創建一個具有兩個鏈接字段(nextFirstName,nextLastName)和一個Name對象的字段的鏈接類。
  2. 在INSERT,首先搜索(姓氏)之前出現的鏈接對象這個新和使用nextLastName場後插入。然後對FirstName執行相同的操作,使用nextFirstName字段作爲鏈接。
  3. ?????
  4. 利潤!

這確實聞到了很多像功課:)

+0

我認爲第3步應該是?????,那麼你的利潤:)當然是 – 2011-03-09 16:07:25

+0

! - 現在我們贏利了.. – sleeplessnerd 2011-03-09 16:22:26

1

因爲你已經實現了一個單向鏈表,擴展到一個雙向鏈表應該不會太困難。你已經有參考前進(見下圖)。現在您還需要添加引用,以便向後移動。另外,請注意下圖中的藍線。爲拼寫屬性添加其他參考。因此,每個節點都會有變數:

private Node NextFirstName; 
private Node PreviousFirstName; 
private Node NextLastName; 
private Node PreviousLastName; 

enter image description here

+0

對,我知道只是添加向後引用,但我如何將數據保存爲名和姓? – Brendan 2011-03-09 16:11:50

+0

無論何時插入以保持所有數據的順序,您都可能需要通過幾次。 – amccormack 2011-03-09 16:19:59

+1

當我看到這件事時,我首先想到的是'我的3歲侄女CRAP再次在屏幕上畫了一個標記!' :) – 2011-03-09 16:49:07

0

你不需要向後引用!該任務要求提供像2個單鏈表一樣的東西,它們與entrys使用相同的對象。每個對象有兩個環節:一是要在列表A中的下一個項目,而一到下一個項目名單B.