加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C识别句子中出现的单词的频率

发布时间:2020-12-16 09:30:39 所属栏目:百科 来源:网络整理
导读:什么是最好的STL用于此任务?我一直在用Map, 我无法让它发挥作用.我不确定如何检查句子中出现的相同单词的数量,例如: I love him,I love her,he love her. 所以我希望程序提示用户输入一个整数,让我说输入3,输出将是爱,因为同一个单词在句子中出现3次.但是
什么是最好的STL用于此任务?我一直在用Map,
我无法让它发挥作用.我不确定如何检查句子中出现的相同单词的数量,例如:

I love him,I love her,he love her.

所以我希望程序提示用户输入一个整数,让我说输入3,输出将是爱,因为同一个单词在句子中出现3次.但是如果我想做这样的程序,可以使用什么方法?

目前我的程序提示用户输入单词,然后它将返回该单词出现的时间,这对于单词爱,是3.但现在我想要反过来.可以吗?使用哪种STL会更好?

解决方法

我假设您使用地图来存储出现次数.
那么,首先必须了解这一点,因为您使用的是地图,所以密钥是唯一的,而存储的数据可能不是唯一的.
考虑一张地图,x
内容

x["I"]=3
x["Love"]=3
x["C"]=5

从键到值的唯一映射,而不是相反,如果你想要这个一对一的映射,我会建议一个不同的数据结构.如果你想使用map,仍然搜索一个元素,使用STL搜索功能或您自己的.或者您可以编写搜索功能.
search().

map<string,int>::iterator ser;
cin>>check;
for(ser=x.begin();ser!=x.end();++ser)
{
    if(ser->second==check)
    {
       cout<<"Word"<<ser->first<<endl;
       break;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读