免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5600 | 回复: 4
打印 上一主题 下一主题

在VC中搜索大文件,如何使用哈希表!(在线等三天) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-28 13:38 |只看该作者 |倒序浏览
1、请问VC++6.0有没有哈希表 ?
   我要建立一个词库,比如金山词库500万个单词 。然后,我要对一个单词进行查找,看看是不是正确的单词。
2、VC6.0中有个一个类Hashmap 效率非常低!
    但是,我直接用二维数组,开辟data[5000000][26]  ,VC编译器又不让通过!

typedef CMapStringToString CMyMap;
CMyMap myMap;
char str[26];
int i=0;
while( !fin.eof() )
{       
     fin.getline(str,26);
     myMap.Add(str,str);
     memset(str,0,26);
}
CString cstr;
if(myMap.Lookup("ABOUT",cstr))//查找about
     fout<<"ok!"<<endl;
else
     fout<<"no!"<<endl;
3.可能和我使用CMapStringToString有关,这样才会影响速度,但是不知道要怎么样作!

请各位大哥大姐赐教!提供一些思路!


[ 本帖最后由 heiniu532 于 2006-5-28 13:57 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-05-28 13:40 |只看该作者
用STL的map可能更好一些,你说的VC的这个类我没有用过

论坛徽章:
0
3 [报告]
发表于 2006-05-28 13:54 |只看该作者
怎么使用那个类!
类要怎么定义!  
template<class InIt>
    map(InIt first, InIt last,
        const Pred& comp = Pred(), const A& al = A());

论坛徽章:
0
4 [报告]
发表于 2006-05-28 20:39 |只看该作者

回复 2楼 converse 的帖子

用stlport中的hashmap会比stl中的map效率更高些。

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
5 [报告]
发表于 2006-05-31 13:40 |只看该作者
最快还是用数组(动态申请),排序后二分查找
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP