首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用remove?

使用remove?
EN

Stack Overflow用户
提问于 2014-04-28 19:01:20
回答 2查看 1.5K关注 0票数 2

Rust中有这样的数据类型吗?

有人在irc上告诉我使用dlist,但它没有remove方法,因为它是基于出队的。虽然算法看起来像是trivial

EN

回答 2

Stack Overflow用户

发布于 2015-04-23 02:46:57

不在标准库中(目前还没有),但这里有一个实验性的双向链表,其中包含remove:https://github.com/contain-rs/linked-list

DroidLogician在in this reddit上播出了这段视频。

票数 1
EN

Stack Overflow用户

发布于 2014-05-30 17:00:49

您链接的用于删除的算法需要访问节点本身以获取其prevnext指针。Rust中的Rust不会显示这些节点,只会显示存储在节点中的数据,所以像这样的公共remove方法没有多大意义。理论上,remove方法可以接受与DList存储的参数类型相同的参数,但不能保证唯一性,因此实现必须是O(n)

DList集合不是基于出队的,但它是Rust中实现出队的集合之一。我的猜测是,这就是数据结构的用途,因此没有任何方法可以修改列表的中间部分,只有列表的两端。

据我所知,你能做到这一点的唯一方法是通过一些第三方库(据我所知没有),或者自己实现它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23339361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档