【发布时间】:2012-09-26 09:16:55
【问题描述】:
我有一个结构体作为值类型的映射
map<int id, struct_t*> table
struct_t
{
int prev;
int wt;
string name;
}
只使用prev,我需要找到对应的id。提前非常感谢!
编辑:
int key=0;
for(auto it = table.begin(); it != table.end(); ++it)
{
if(table[(*it).first].prev == ?)
}
这就是我的地图数据的样子:
id prev abundance thing
1573 -1 0 book
1864 1573 39 beds
2075 1864 41 tray
1760 2075 46 cups
对于每个 id,我需要找到 NEXT 匹配的 id。因此,对于上一列中的 1573,我需要找到一个匹配的“id”,即 1864。此外,std::next 不起作用,因为数据集不一定在下一个元素中具有匹配的 id。希望这会有所帮助!
请帮帮我!!!我的老板已经对我花这么多时间学习 C++ 感到失望(已经 3 周了!)
【问题讨论】:
-
map的密钥是什么? -
你的意思是数据类型吗?它是 int id
-
地图是用来搜索它们的键,而不是值。也许你应该调整你的设计或使用另一种容器。
-
精通C++需要3个多星期...