原帖见:
http://community.youkuaiyun.com/Expert/TopicView3.asp?id=5023839
题目:
输出每个单词出现的次数
比如:aaa,bbb,ccc,aaa,avc,aaa.
那么aaa为3,bbb为1.....
在输出时,还要将输入单词按首字母排列
解答:
回复人:du51(郁郁思扬) (
) 信誉:100 2006-9-15 15:10:45 得分:0
/*------------------------------------*/
#include
<
iostream
>
#include
<
string
>
#include
<
vector
>
#include
<
sstream
>
#include
<
algorithm
>
#include
<
functional
>
#include
<
cctype
>
#include
<
iterator
>
using
namespace
std;
int
main()
{
string test="aaa,bbb,ccc,aaa,avc,aaa.ccc wwwww www.youkuaiyun.com www.warcraft.com";
replace_if(test.begin(),test.end(),not1(ptr_fun(::isalpha)),' ');
istringstream ss(test);
vector<string> vec;
copy(istream_iterator<string>(ss),istream_iterator<string>(),back_inserter(vec));
sort(vec.begin(),vec.end());
for(vector<string>::iterator it=vec.begin(),start=vec.begin();it!=vec.end();start=it)
{
if((it=adjacent_find(start,vec.end(),not_equal_to<string>()))!=vec.end())++it;
cout<<*start<<" "<<distance(start,it)<<endl;
}
system("PAUSE");
return 0;
}
本文介绍了一种使用C++编程语言统计文本中各单词出现次数,并按首字母顺序进行排序的方法。通过替换非字母字符并利用标准模板库(STL)的功能实现了这一功能。

7294

被折叠的 条评论
为什么被折叠?



