vector如何实现快速查找

 我来答
人为有三贤读书9061
推荐于2016-06-25 · 超过77用户采纳过TA的回答
知道答主
回答量:156
采纳率:100%
帮助的人:67.5万
展开全部
数据结构如下:C/C++ code string username, string userotherinfo}; vector<Userinfo userList; 现在的问题是,希望在一个这样的vector里面,根据输入条件进行快速查找元素 条件可能是userid或者username或者userotherinfo中任意一个 (例如查找username为xxx的元素,结果可能有多个) 并且userotherinfo查找时经常是匹配前几个字符的查找(类似数据库like,例如 userotherinfo like 'XX%') ----------------------------------------------- ------解决方案-------------------- 那就别用vector啊,map或者set是红黑树,查找log n ------解决方案-------------------- 最快的就是哈希查找 不过建哈希表有点麻烦 ------解决方案-------------------- 如果目的是直接查找的话,不如用关联容器啊。还有个建议就是直接用sqlite的memory database,用法和phisical database完全一样,唯一不同是建立在内存里,操作效率相当高,我处理大数据一直都这么干。 用三个vector来保存他的迭代器吧。然后分别按照三个成员对三个vector进行排序,最后是用二分查找来查。复杂度log(n)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式