【发布时间】:2021-03-26 02:56:22
【问题描述】:
所以,我正在尝试制作一个个人项目,我需要知道我可以使用什么数据结构,这使我能够以任何顺序快速插入和删除。最重要的是,如果我能在内部管理数据,那将是最好的。我尝试了一个哈希集,但一位前辈的反馈是它不是最佳选择。所以我想知道我可以使用什么?
一些额外的背景:无论结构中的数据量如何,性能都是最重要的。插入和删除非常频繁且顺序随机
【问题讨论】:
-
我会问前辈他们的建议是什么。有了你给出的模糊细节,听起来
std::unordered_set就可以了。 -
无序集正是我使用的。有人建议我查看链表之类的东西,因为我可能需要维护索引。我确实有需要频繁插入和删除的限制
-
“我正在尝试为我的 git repo 制作一个个人项目”——这与问题相关还是只是为了让你的问题看起来更长?最好从类似“我正在设计一个需要 [etc.] 的数据结构”开始
-
该注释只是为了确保没有人认为这是一项学术作业。我很久以前就离开了大学,目前正忙于在工作的同时整理我的 git 存储库
-
只有当您已经有一个指向要删除的节点或要插入的位置的节点的指针时,链表才有效。如果你不这样做,你将需要通过遍历找到节点/点——这会很慢。 unordered_set 一样快,但您无法控制项目的顺序,因此如果您确实需要索引,它对您不起作用。你需要控制物品的顺序是否正确?
标签: c++ data-structures