gpt4 book ai didi

c++ - C++中用于维护插入顺序和消除重复项的数据结构

转载 作者:搜寻专家 更新时间:2023-10-31 01:48:36 27 4
gpt4 key购买 nike

我需要维护用户输入数据的顺序,但需要消除重复项。我查看了 map ,它消除了重复项,但无法保持用户输入的顺序。 set 也有同样的问题。 STL中有没有数据结构可以同时满足这两个要求?我不能在这个项目上使用 boost。

最佳答案

问题是,如果您保持搜索顺序,搜索重复项的成本很高,因此您不会倾向于找到同时执行这两项操作的数据结构。 C++11 引入了 std::unordered_set ,这可能就是您想要的。

如果你不使用C++11,你可以在一个类中封装一些标准的容器。我建议你将你的元素放入 set 中或 map ,然后将迭代器存储到 vector 中的项目.

关于c++ - C++中用于维护插入顺序和消除重复项的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17583002/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com