gpt4 book ai didi

c++数据结构以保持插入顺序并能够按键查找

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:47:30 24 4
gpt4 key购买 nike

有没有什么数据结构(C++03,或者Boost)可以保持插入顺序并且可以key lookup。我目前是这样做的:

struct Foo {
vector<string> v; // keep the key order by insert time
map<string, string> m; // <key, value>
};

Foo foo;
foo.v.push_back("key1");
foo.m["key1"] = "value1";
foo.v.push_back("key2");
foo.m["key2"] = "value2";

有了这个,我可以在 vector 对象中保持我想要的顺序,并且仍然能够快速查找 map 对象。缺点是我必须同时维护 vector 对象和 map 对象,这有异味。

最佳答案

一个可能的选择是 Boost Multi-index containers library .当我有类似的要求时,我过去曾使用过它们。习惯模板设置需要一些时间,但之后效果很好。

关于c++数据结构以保持插入顺序并能够按键查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20114297/

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