1
A
回答
0
您鏈接到要刪除的算法需要訪問該節點本身以獲取其指針prev
和next
指針。 Rust中的DList
API不會顯示這些節點,只顯示存儲在節點中的數據,因此像這樣的公共方法沒有多大意義。 remove
方法在理論上可以接受與DList
存儲相同類型的參數,但不能保證唯一性,而是實現必須是O(n)
。
DList
集合並非基於出列,而是它實現出列的其中一個集合。我的猜測是,這就是數據結構的意義,因此沒有辦法修改列表的中間部分,只能修改它的兩端。
據我所知,唯一可以做到這一點的方法是通過一些第三方庫(沒有我所知道的),或者自己實現它。
1
不是在標準庫(還),但這裏的一個實驗雙向鏈表帶刪除:https://github.com/contain-rs/linked-list
DroidLogician播出它in this reddit。
相關問題
- 1. 雙向鏈表java刪除
- 2. 刪除雙向鏈表的頭
- 3. 雙向鏈表C++刪除元素
- 4. 從雙向鏈表中刪除
- 5. 刪除自定義雙向鏈表
- 6. C++雙向鏈表搜索和刪除
- 7. 在雙向鏈表中刪除
- 8. 從雙向鏈表中刪除節點?
- 9. 從雙向鏈表中刪除遊標
- 10. 雙鏈表刪除方法
- 11. 雙鏈表:刪除節點
- 12. 刪除雙向鏈接列表中的鏈接
- 13. 雙向鏈表
- 14. 雙向鏈表
- 15. 雙向鏈表
- 16. 雙鏈表刪除C++中的偶數
- 17. 刪除循環雙向鏈表上的字符串
- 18. 雙向鏈表中節點刪除的時間複雜度
- 19. 雙向鏈接列表中的自動刪除元素
- 20. 刪除/撤銷雙向鏈表中的節點
- 21. 如何返回雙向鏈表並刪除樹的葉子?
- 22. 刪除雙向鏈表中的節點(C++)
- 23. 如何刪除雙向鏈表中的第一個節點?
- 24. 刪除第一個元素的雙向鏈表
- 25. 刪除一個圓形雙向鏈表中的節點
- 26. 刪除雙向鏈表中的一個項目
- 27. 實施一個雙向鏈表的刪除方法
- 28. 雙向鏈表java從後面移除
- 29. 單向鏈表到雙向鏈表
- 30. 在從雙向鏈表中刪除節點時遇到問題