我在尋找Generics.Collections並注意到沒有鏈接列表。當然,他們製作起來很簡單,但我認爲這很奇怪,沒有一個(或者我錯過了它)。與新的現代數據結構相比,鏈接列表是否已經過時,還是需要一個通用的通用鏈接列表?有人知道嗎?德爾福2009通用鏈接列表
4
A
回答
11
您是否知道DeHL?
我認爲DeHL.Collections.LinkedList.pas單位的TLinkedList<T>
正是你正在尋找的。
2
在過去,幾乎所有嚴重的軟件都包含鏈接列表或樹。
我沒有使用鏈表很多,但樹是另一回事。
隨着動態數組的引入,對鏈接列表的需求不再那麼多。但我可以想象,如果您的數據結構經常更改(添加+刪除),您想使用它。
您可以使用容器類和元素記錄輕鬆地自己創建通用鏈接列表。
1
我不知道現有的Delphi RTL中的任何通用鏈表。
然而,它們仍然是非常有用的數據結構。特別是如果您在鏈接列表(如B樹或二叉樹)中包含變體。與常規列表不同,可以擴展,編輯或修改鏈接列表,而無需在內存中移動數據。它們非常容易版本化,並且在純功能代碼中運行良好,不允許變更現有數據。所以它仍然是一個非常有用的數據結構。
0
這不就是tStringList的用途嗎?
(閃避)
其實,任何一般TLIST正常工作作爲一個鏈表,並提供大部分所需的功能。古老的技術從我們的祖先傳下來,在每條記錄中存儲一個指向內存的指針,並且導航到那個很容易被動態數組替換,並且更加通用。
相關問題
- 1. 德卡爾和德爾福2009年
- 2. 解決中的TDataSetProvider德爾福2010年或德爾福2009年
- 3. 轉換德爾福7代碼與德爾福2009年工作
- 4. 德爾福2009年函數被鏈接器取消
- 5. 德爾福Superobject,json的通用列表
- 6. 德爾福2009年導入D7 DPR:
- 7. 德爾福2009 TurboPower圖書館轉換
- 8. 德爾福6與RAD Studio 2009一起
- 9. 德爾福2009年壓縮gzipped文件
- 10. 德爾福2009年升級問題
- 11. 德爾福2009年編譯包
- 12. 德爾福2009年啓動錯誤
- 13. 德爾福2009年MS生成頭痛
- 14. 通用TList <>在德爾福2009年崩潰在IndexOf
- 15. 德爾福接口
- 16. 德爾福2009年的onkeydown不捕獲作爲德爾福2007年做
- 17. 德爾福功能通用
- 18. 德爾福通用框架
- 19. DBExpress連接SQL 2008在運行時與德爾福2009年
- 20. 再次通過德爾福接口
- 21. 德爾福v.Word - 如何從德爾福
- 22. 德爾福HID Delphi7和德爾福XE2
- 23. 德爾福:通過的LocaleID
- 24. 德爾福接口實現
- 25. 列表索引出界(0)德爾福
- 26. 德爾福5的散列表實現
- 27. 德爾福Firemonkey獲取列表設備
- 28. 德爾福的指針字節列表
- 29. 德爾福錯誤列表框
- 30. 如何使用http post發送文件?德爾福2009年
當插入到TList中時,它需要將其後的所有內容移動到數組中。鏈接列表只需要更改指針。 – 2009-06-12 16:36:18