好吧,问题很简单 - 我正在读取输入流中的单词,这些单词可能会重复。我需要填充一张地图,以便所有单词的索引从0到n-1。 这里是我的代码:`auto-increment` std :: map <string, int> :)
map<string, int> mp;
string s;
int n = 0;
while(cin >> s)
{
if(mp.find(s) == mp.end())
{
mp.insert(make_pair(s, n++));
}
}
这是为了达到我想要实现还是有更优雅,更STL-ISH解决方案的最佳方式是什么?在此先感谢
这看起来足够了。 – prolink007 2010-11-05 21:18:46
为什么你需要一个索引?你是否使用这个来将一个单词映射到一个向量中,并在向量中存储更多信息。为什么不把信息存储在地图中? – 2010-11-05 21:24:10
@Martin:最终我将为顶点为这些字符串的图构造一个邻接矩阵。使用索引作为图顶点很方便 – 2010-11-05 21:28:24