2014-04-28 55 views

回答

0

您鏈接到要刪除的算法需要訪問該節點本身以獲取其指針prevnext指針。 Rust中的DList API不會顯示這些節點,只顯示存儲在節點中的數據,因此像這樣的公共方法沒有多大意義。 remove方法在理論上可以接受與DList存儲相同類型的參數,但不能保證唯一性,而是實現必須是O(n)

DList集合並非基於出列,而是它實現出列的其中一個集合。我的猜測是,這就是數據結構的意義,因此沒有辦法修改列表的中間部分,只能修改它的兩端。

據我所知,唯一可以做到這一點的方法是通過一些第三方庫(沒有我所知道的),或者自己實現它。