我能用C++中的唯一命令来获得频率吗?

我能用C++中的唯一命令来获得频率吗?,c++,vector,C++,Vector,我想得到存储在向量中的单词的频率。我已经在谷歌上搜索了很多次我的问题,没有找到对我有用的东西。我找到了一个网站,有人说使用unique命令来计算词频,但我找不到任何这样做的例子。使用a创建: 使用来创建: 不使用unique,但对于单词计数,无论是在内存使用率还是速度方面,都很难击败a或其派生词。不使用unique,但对于单词计数,很难击败a或其派生词,在内存使用和速度方面,你使用哪一本C++书?我没有用一本书,我在这个网站上说:“BBTeTac,链接根本就不是C++。而且,不,你不能使用唯一的

我想得到存储在向量中的单词的频率。我已经在谷歌上搜索了很多次我的问题,没有找到对我有用的东西。我找到了一个网站,有人说使用unique命令来计算词频,但我找不到任何这样做的例子。

使用a创建:

使用来创建:


不使用unique,但对于单词计数,无论是在内存使用率还是速度方面,都很难击败a或其派生词。

不使用unique,但对于单词计数,很难击败a或其派生词,在内存使用和速度方面,

你使用哪一本C++书?我没有用一本书,我在这个网站上说:“BBTeTac,链接根本就不是C++。而且,不,你不能使用唯一的,但是,如果你在一个地图上寻找一个特定的单词或者甚至是一个简单的迭代,你可以使用计数,你使用哪一本C++书?我没有用一本书,我在这个网站上说:“BBTeMac,链接根本就不是C++。而且,不,你不能使用唯一的,但是,如果要查找一个特定的单词,甚至是一个简单的向量迭代并插入到映射中,则可以使用count。频率应该是std::cout first@chac:OP要求的频率。@chac-Uh…你当然是对的。我误读了这个问题。频率应该是std::cout first@chac:这是OP要求的,不过。@chac嗯……你当然是对的。我误读了这个问题,仅此而已。
using std::string;
using std::map;
using std::vector;

typedef map<string, unsigned> counts_t;

// Create the histogram
counts_t histogram;
for (vector<string>::const_iterator i = vec.begin(); i != vec.end(); ++i)
    ++histogram[*i];

// ... and display it.
for (counts_t::const_iterator i = histogram.begin(); i != histogram.end(); ++i) {
    double freq = static_cast<double>(i->second) / vec.size();
    std::cout << i->first << ": " << freq << "\n";
}