【发布时间】:2013-08-22 13:13:12
【问题描述】:
我正在尝试处理文章或任何段落的内容 [每个字符串]。首先,我将使用strtok() 转换成单词。
之后,我想将每个单词存储在哈希表中(因为我认为这是处理大数据的最佳方式)。在处理每个单词时,我想存储每个单词的出现。最后我想得到出现时间最长的单词。
unordered_map 存储带有键值的元素,并允许快速检索带有键的元素。这可能对我有用。
我不擅长C++,所以想请教一下。
将整个包含存储在
char *ch ="content of article"中是继续的好方法还是string::str?我只熟悉第一个。第二,我在处理函数时感觉很复杂。将整个内容(字符串)存储到
unordered_map(),然后我如何创建包含元素作为单词的哈希表,并且它会发生。然后我能得到出现次数最多的单词吗?还有其他 C++ 函数可以帮助我做我想做的事吗?
【问题讨论】:
-
请不要使用
strtok,这是邪恶的。 Relevant link -
如果文本很大,你应该尝试找到解决方案,在解析之前不需要将整个文本读入内存。动态解析会提高效率。
-
@Borgleader:谢谢,但是您认为您链接的实现会按照我的要求与 strtok() 做同样的事情吗?
-
@AdamSangala:是的,但是从 pdf 或网络文档本身阅读对我来说是个问题。所以现在处理读取内存中的 frmo 文本!