有没有更快的办法来统计一篇文章中的词组数量并排序输出(挑战速度)!

有没有更快的办法来统计一篇文章中的词组数量并排序输出(挑战速度)!

我现在需要统计一篇文章中的单词数量,并排序输出。
格式

单词1 500
单词2 499
单词3 300
.....
...
..
.

现在的思路是
第一步:先将单词读入到map<string,size_t> ssmap;当中;这样每次扫描到一个新单词后都可以++ssmap[str];来统计单词数;
第二步:将map中的内容拷贝到vector<pair<string*,size_t> > vec;当中,之后对vec用sort进行排序。(之所以要用string*是因为不希望发生string的拷贝构造,以免浪费时间)。
第三步:将vec输出。

试验了一下上述方法可以正确执行。
但我想应该有更快的方法,请各位赐教一下!


呵呵,谢谢大家这么积极。

字符串长度没有限制,这个从一个分词程序对文章进行分词处理以后的结果。单词可能是“的,了”这种单个字,也可能是“中华人民共和国”这种字符串。还有可能遇到像“\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\...(n个)”这种比较变态的符号。

你可能感兴趣的:(有没有更快的办法来统计一篇文章中的词组数量并排序输出(挑战速度)!)