2010-11-18 55 views
-2

我想將數組轉換爲鏈表。 所以基本上,我將有一個稱爲「頭」的結構,這將是第一個元素 和節點,這將是其他元素。 任何想法,所以我可以開始?數組到鏈接列表C

+2

問題是什麼? – 2010-11-18 20:45:29

+2

@Blagovest - 其實,「爲什麼」是問題;) – KevinDTimm 2010-11-18 20:56:05

回答

3

我沒有看到任何解決方案比只遍歷數組並將元素附加到列表更簡單。

+0

這就是我想要的。但我不能讓它工作 – shadow7 2010-11-18 21:51:52

1

在C中實現鏈接列表的標準方式是使用包含數據成員和下一個指針的單個節點結構。每當你想要一個新節點時,爲它指定一個空間,並將列表中最後一個節點的下一個指針設置爲指向它。最後一個節點的下一個指針應該指向NULL

你只需要保持一個指向第一個元素的常規指針。這是你的頭指針。

+0

我不允許使用malloc。所以我只會指向它。這是可能的權利? – shadow7 2010-11-18 20:57:50

+0

@ shadow7:它可能*,但它不是非常優雅或實用,它會受到限制,比如最大節點數量 - 如果你不能使用malloc,你可能只想擁有一個節點數組,所以你可能只是堅持你開始使用的陣列。 – 2010-11-18 21:02:04

+0

@ shadow7:保羅說了什麼。如果在運行時無法分配內存,則使用鏈接列表毫無意義。他們會比他們的陣容更慢,更大。 – nmichaels 2010-11-18 22:32:37

1

不使用malloc,你將不能夠輕易所以最好添加一個新的節點來存儲數據需要使用數組來避免混亂(但你爲什麼不能現在使用malloc?)

+1

爲什麼你復活自上次回覆以來接近兩歲的家庭作業問題? – moshbear 2012-10-02 21:44:57