📅  最后修改于: 2023-12-03 14:59:46.992000             🧑  作者: Mango
在C++中,unordered_multiset是一个基于哈希表的容器,可以存储多个相同的元素,且元素的顺序是无序的。这篇文章将介绍unordered_multiset的size()函数。
unordered_multiset::size()函数用于返回unordered_multiset中存储元素的个数。其语法如下:
size_type size() const;
其中,size_type是无符号整数类型,表示元素的个数。
以下是一个使用unordered_multiset::size()函数的示例程序,用于计算一段文本中各单词出现的次数:
#include <iostream>
#include <unordered_set>
#include <string>
#include <sstream>
int main() {
std::string text = "This is a sample text for testing unordered_multiset in C++ STL. "
"This text test the usage of unordered_multiset::size() function.";
std::unordered_multiset<std::string> words;
std::istringstream iss(text);
for (std::string word; iss >> word; ) {
words.insert(word);
}
for (const auto& word : words) {
std::cout << word << ": " << words.count(word) << std::endl;
}
std::cout << "The number of distinct words: " << words.size() << std::endl;
return 0;
}
在上面的示例程序中,我们使用了std::unordered_multiset来存储单词。在遍历unordered_multiset中的单词时,我们使用了unordered_multiset::count()函数来计算每个单词出现的次数。最后,我们使用unordered_multiset::size()函数来获得unordered_multiset中不同单词的个数。
以下是上述示例程序的执行结果:
text: 2
a: 1
C++: 1
for: 1
in: 1
is: 2
multi: 1
of: 1
sample: 1
STL.: 1
test: 1
testing: 1
text: 1
the: 2
This: 2
function.: 1
function.: 1
unordered_multiset: 2
usage: 1
The number of distinct words: 17
可以看到,程序成功计算出了各个单词在文本中出现的次数,并通过unordered_multiset::size()函数计算出了unordered_multiset中不同单词的个数。
unordered_multiset::size()函数是一个用于获取unordered_multiset中元素个数的方便函数,可以方便地用于统计unordered_multiset中不同元素的个数。