【发布时间】:2020-08-28 02:32:57
【问题描述】:
我有一个这样的结构列表list<color> colorList;
` struct color {
int r;
int g;
int b;
}`
我的要求是要有一张地图,但要能够查找具有相同 RGB 值的“颜色”。 例如。 r=128,g=128,b=0 的所有“颜色”。
我的直觉是创建一个映射,其键是 r,g,b,值是 RGB 值匹配的结构。
我正在寻找 C++ 中的性能最优解决方案。
【问题讨论】:
-
您说您需要“查找颜色”,但是您希望在颜色上附加哪些附加信息?现在您只是再次存储
color,但std::map<color, color>包含与std::set<color>相同的信息。 -
您好 Botje,我想我的问题并不清楚。我的查询可能是 'retrieve all with r=128'。它应该检索与该条件匹配的所有结构,而与 b,g 值无关。
-
@Vijay 你确定要实现地图吗?或者也许是一套?用地图和设置键是唯一的。但是你想要吗?也许您只需要在列表中找到
color对象。 -
@jignatius 我不需要使用地图。我需要根据部分匹配的值(例如只有红色 = 128)获取颜色对象。
标签: c++ list dictionary struct