hur.cn - 华软网

 热门搜索

真心求教一个策略问题

  作者:未知    来源:网络    更新时间:2011/8/26
我碰到一个问题,不知道该采取什么策略

情况如下:

有n项纪录(n很大),每一项纪录包括了记录号、关键词等等元素。
在查询过程中,我需要通过记录号来取得对应的其他元素。

最开始我是使用的std::vector,可是当n很大的时候,效率很低。(我是遍历vector中所有项,逐项比较其中的记录号)

现在我使用了几个std::map来存放,
std::map<int Item, char* key>
std::map<int Item, int Position>
std::map<int Item, int Attribute>
std::map<int Item, bool Used>

对第m项查询就要find()四次才能够取得所有所需的元素。

是否有改进的方法呢。

有没有std::xxxmap<key, data1, data2, data3, ...>这种容器呢
---华软 网友回答---
自定义结构
struct data
{
 char* key;
 int position;
 int attribute;
 bool used;
};
然后std::map<int Item, data>
---华软网友回复---
引用 1 楼 ndy_w 的回复:
自定义结构
struct data
{
 char* key;
 int position;
 int attribute;
 bool used;
};
然后std::map<int Item, data>


UP 同时运用一些适合自己的查找算法
---华软网友回复---
用map啊~      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。