读书人

关于string和setlt;stringgt;的有关问题

发布时间: 2013-03-29 14:24:52 作者: rapoo

关于string和set<string>的问题
我定义了一个map< set<string> , int>
我在使用map的find时,需要传入一个vector<string>类型的数据来做进行查找的初值,但是怎么做才能够将vector<string>中的某个数值转化为set<string>,或者说用一个vector<string>的值给一个set<string>初始化啊?

急求,本人是c++的菜鸟,求大神解 string vector set
[解决办法]


vector<string> vs;
vs.push_back("1");
vs.push_back("2");
vs.push_back("3");
set<string> ss(vs.begin(), vs.end());

[解决办法]
>而set会去重的,我不想去除重复
那就用multiset
[解决办法]
multiset
可以重复
[解决办法]
引用:
引用:>而set会去重的,我不想去除重复
那就用multiset
刚才又看了看,犯傻了,因为我只是想向set<string>中输入一个数值,是一个string类的数值(vector<string>中的一个元素),但是不知道我用了insert后,为什么出错了
求解。。。
代码:
C/C++ code?1234567891011……

map_count的key是set<string>,你*iset_temp是个string,类型不匹配
[解决办法]
引用:
引用:vector转set的目的是什么? 为了测试?
这话就长了,为了用c++统计单词出现字数,先用vector获取样本,然后用set去重,然后将set放入map中,用find比较单词出现次数,每出现一次,map的第二个量++,最后输出map


这个简单的用std::map<std::string, int>就可以了。
先用std::vector<std::string>将所有单词存下,再循环用每一个string查找map,存在就++int,不存在就插入,并置int为1。

当然,考虑到效率的话有更好的方法。

读书人网 >C++

热点推荐